Mercurial > hg > Papers > 2008 > gongo-ess
view cell.tex @ 7:a927f08d51e2
*** empty log message ***
author | gongo |
---|---|
date | Mon, 14 Jul 2008 20:51:46 +0900 |
parents | 6458878b4526 |
children | a0c222f5fb40 |
line wrap: on
line source
\section{Cell} Cell Broadband Engine \cite{cell} は、SCEI と IBM によって開発された CPU である。2 thread の PPE (PowerPC Processor Element) と、 8 個の SPE (Synergetic Processor Element) を持ち、 EIB と呼ばれる高速リングバスで構成されている。 本研究で用いた PS3Linux (Fedora 8) では、 6 個の SPE を使うことができる (\figref{fig-cbe}) 。 \begin{figure}[tb] \begin{center} \includegraphics[scale=0.41]{figure/cbe.pdf} \caption{Cell Architecture} \label{fig-cbe} \end{center} \end{figure} SPE には 256KB の Local Store (LS) と呼ばれる、SPE から唯一直接参照できる メモリ領域があり、バスに負担をかけることなく並列に計算を進めることが出来る。 SPE からメインメモリへは、直接アクセスすることは出来ず、 SPE を構成する一つである MFC (Memory Flow Controller) へ、チャネルを介して DMA (Direct Memory Access) 命令を送ることで行われる (\figref{fig-cbe-spe}) 。 この時、DMA 転送するデータとアドレスにはいくつか制限がある。 転送データが16バイト以上の場合、データサイズは16バイトの倍数で、 転送元と転送先のアドレスが16バイト境界に揃えられている必要がある。 転送データが16バイト未満の場合、データサイズは 1,2,4,8 バイトで、 転送サイズに応じた自然なアラインメントである (転送サイズのバイト境界に揃えられている) ことが条件となる。 \begin{figure}[tb] \begin{center} \includegraphics[scale=0.6]{figure/cbe-spe.pdf} \caption{Synergetic Processor Element} \label{fig-cbe-spe} \end{center} \end{figure} SPE はグラフィックスに適した、4 つの固定小数点、浮動小数点を 同時に演算する命令などを持ち、PPE に比べて高速な演算が可能である。 そのため、ほとんどの演算を SPE 上で行わせることが推奨されている。 \subsection{SPURS} ここでは、現在発表されている Cell の開発環境である SPURS \cite{spurs} について説明する。 SPURS は、閉じた並列分散と考えることができる Cell の環境で、 いかに効率よく動作させるかということを考えたシステムである (\figref{fig-spurs-pipeline}) (\figref{fig-spurs-task}) 。 \begin{figure}[tb] \begin{center} \includegraphics[scale=0.36]{figure/spurs-pipeline.pdf} \caption{SPURS Pipeline} \label{fig-spurs-pipeline} \end{center} \end{figure} \begin{figure}[tb] \begin{center} \includegraphics[scale=0.36]{figure/spurs_task.pdf} \caption{SPURS Task} \label{fig-spurs-task} \end{center} \end{figure} Cell の性能を存分に生かすためには SPE を効率よく使い切ることである。 SPE の動作を止めることなく、同期を最小限に行う必要がある。 そこで SPURS では SPE を効率よく利用するために、PPE に依存せずに SPE コードを 選択し、実行することと機能は効率重視で割り切ることを挙げている。 現在 SPURS は一般には公開されていない。