2009年8月4日 星期二

[Book] Multi-core Programming on the PlayStation3 Cell B.E. Platform

1 本書導覽

2 Cell BE 硬體架構
2.1 PowerPC Processor Unit
2.2 Synergistic Processor Unit
2.3 Element Inter-Connect Bus

3 Cell BE 工具列
3.1 安裝作業系統
3.2 軟體開發工具列
3.2.1 安裝步驟
3.2.2 工具介紹 3.2.2.1 Cell Simulator 3.2.2.2 Compiler 3.2.2.3 Eclipse IDE

4 Cell Programming基礎概念
4.1 簡易SPE程式
4.2 創建PPE行程與執行緒
*4.3 事件處理
*4.3 進階實務

5 直接記憶體存取
5.1 記憶體對應
5.2 指令使用 5.2.1 柵障(Barrier)和柵欄(Fence) 5.2.2 直接存取記憶體列表
5.3 多重緩衝
*5.4 Atomic Method

6 訊息傳遞與同步
6.1 郵件傳遞 6.1.1 PPE與SPE的郵件傳遞 6.1.2 使用DMA達到SPE之間的訊息傳遞
6.2 信號傳遞 6.2.1 PPE與SPE的信號傳遞 6.2.2 使用DMA達到SPE之間的信號傳遞
*6.3 使用訊息佇列傳遞資料


7 Vector Programming
7.1 在PPE上使用SIMD
7.2 在SPE上使用SIMD
7.3 PPE與SPE上使用SIMD的異同

8 錯誤解決

附錄
SPE Runtime Management Library
SPU C/C++ Language Extensions

第2,3章塞公負責,第2章deadline 3月底,第3章deadline 4月底~5月中。
第1,4,5,6我負責,第4,5章deadline 3月底,第6章4月底,第1,8章5月底。
第7章看情況要不要交給學妹寫,希望大家都能準時交差而且寫的要好,不要敷衍。
要寫就寫出來,不寫就都不要寫,不要還寫一半,就像上廁所只上一半。
雖然我的希望是可以不要上廁所就不要上..............
===========================================================

我在第四章的部份有說第三章會詳細講SDK包含哪些ex: compiler等,
所以還請塞公那部份要講清楚點。
*字號的部份是我還沒寫的部份,我想那幾個部份可以來討論要不要寫。
4.2節我目前還在寫,等寫完我的部份應該就差不多了。
第8章我希望大家可以合寫, 有遇過什麼問題都可以列出來
問題, 解決的方法等等
也請大家能不吝惜給我們建議


==========================================================
負責寫SDK3.0的人注意一下,
在最初的LibSPE的版本,如果我們開出超過6個SPE thread,
第七個thread會進入等待佇列,會等到六個SPE thtread都執行完後才會開始執行。

那在LibSPE 2.1的版本(也就是我們現在寫程式#include libspe2.h ,以前是#include libspe.h)
有做pre-emptive scheduler,所以現在有做"time-slice"的功能。
至於有沒有那麼神...就看user自己使用了,必須先計算讓SPE context swap-overhead。
swap對的SPE也是一個問題吧。
==========================================================
我整理一下今天我所提的部份,
如果我有闕漏也請各位告知,如果能請各位訂出自己的deadline是最好的。

第一章
等所有章節具雛型再動筆

在第二章到第三章的部份,
1. YDL安裝圖能修整或是重新抓圖。
2. SDK務必附上,告訴使用者有哪些Tool可以使用,必要時附上範例

第四章的部份
是我自己的部份,還少了一個範例。
另外,雖然我們沒有使用到Event Handling的部份,
但是其他書有提到,未來我希望自己能補上這部份。

第五章
修正老師所改的部份

第六章
使用訊息佇列傳遞資料,
此部份還沒有寫,可與老師再討論,如需要可從我的論文截取。

第七章
希望學妹能先出個第0.1版,多增加幾個範例
之後對SIMD越來越有感覺時可再做修改。

第八章
希望各位能提出2~3個會遇到的錯誤,解決的方式如何。
以QA的方式完成此章節。
越多越好。
還記得當初塞公寫的時候說有遇到很多錯誤和問題,現在可能都忘記了
還請各位回想一下,記一下問題。

附錄
請阿凡學弟回去想要如何完成