# HG changeset patch # User Daichi Toma # Date 1321493369 -32400 # Node ID e284dc62f608c131bcb233a0b85f58a1b4ec665a # Parent 4f3c7e4293f8b87166319c254233a3f4322593ce Described implementation of existing Cerium Task Manager diff -r 4f3c7e4293f8 -r e284dc62f608 Paper/prosym.tex --- a/Paper/prosym.tex Thu Nov 17 09:10:55 2011 +0900 +++ b/Paper/prosym.tex Thu Nov 17 10:29:29 2011 +0900 @@ -64,10 +64,10 @@ % 和文概要 \begin{abstract} -本研究室で作成した Cerium Task Manager は, Task 単位で記述する並行処理フレームワークである. +本研究室で作成した Cerium Task Manager\cite{kono10c,kono08d} は, Task 単位で記述するゲームフレームワークである. % Cerium Task Manager では, Task に input データ, output データ及び依存関係を設定し, % Task Manager としてそれらの Task を管理し, 実行する. -今までは, PlayStation 3/Cell 上でのみ, 並列実行を可能にしていたが, +今までは, PlayStation 3/Cell\cite{cell} 上でのみ, 並列実行を可能にしていたが, 今回新たに Mac OS X, Linux 上での並列実行に対応した. % 今回のポスター発表では, 既存の Cerium Task Manager の実装の説明, % 新しい並列実行の機構についての説明及び実際に Cerium Task Manager を利用して, 並列実行のデモを行う. @@ -76,7 +76,7 @@ \end{abstract} % 英文概要 \begin{eabstract} -We have developed Cerium Task Manager of concurrency framework. +We have developed Cerium Task Manager of Game Framework. Until now, Cerium Task Manager was able to enable parallel execution only on the PlayStation 3/Cell, It new supporting parallel executation on Mac OS X and Linux. In this paper, we described implementation of existing Cerium Task Manager and a new parallel execution. @@ -92,52 +92,53 @@ % 本文はここから始まる \section{はじめに} -本研究室で作成した Cerium Task Manager は, 並行処理を Task 単位で記述するフレームワークである. +プロセッサメーカは、消費電力、発熱及びクロックの限界という観点から、 +マルチコア構成の路線を打ち出しており、今後ますますマルチコアプロセッサが主流になると想像できる。 + +マルチコアプロセッサ上で、リソースを有効活用するためには、並列プログラミングを行う必要があるが、 +効率の良い並列プログラミングを書くことは難しい。 + +そこで, 本研究室で作成した Cerium Task Manager をマルチコアプロセッサに対応させることで, +マルチコアプロセッサ上での Task 単位による並列プログラミングをサポートする. -Cerium Task Manager では, 関数やサブルーチンを Task として扱う. -Task には, input データ, output データ及び依存関係を設定する. +今まで, Cerium Task Manager は, PlayStation 3/Cell 上でのみ, 並列実行を可能にしていたが, +今回新たに Mac OS X, Linux 上での並列実行に対応した. + +本論文では, まず既存の Cerium Task Manager の実装について説明する( \ref{section:cerium}節 ). +その後, 新たに実装した並列実行の機構について説明する( \ref{section:impl}節 ). + +\section{Cerium Task Manager}\label{section:cerium} +Cerium Task Manager は, Cell用に開発されたゲームフレームワークであり、 +Rendering Engine を含む. + +Cerium Task Manager では, 並列処理を Task 単位で記述する. +関数やサブルーチンを Task として扱い, +Task には, input データ, output データ及び依存関係を設定する. Cerium Task Manager によってそれらの Task は管理され, 実行される. -Cerium Task Manager は, PlayStation 3/Cell, Mac OS X 及び Linux 上で利用することができ, -それぞれのプラットフォームで同じプログラムを動作させることができる. +Cerium Task Manager は, PlayStation 3/Cell, Mac OS X 及び Linux 上で利用することができ, +それぞれのプラットフォームで同じプログラムを動作させることができる. これにより, アーキテクチャに依存しないプログラムを記述することが可能である. +\subsection{Cerium Task Managerの特長} +Cerium Task Managerでは、プログラムの様々なレベルでパイプラインが構成されるので, +プログラムの性能向上が見込める. + +また, Task 自体は入力データから, 出力データを計算するだけなので非常に単純だが, +その入出力データをダブルバッファリングとして切り替えたり, +適切な並列度が得られるように徐々に生成するのは非常に煩雑となる。 +さらに、これらのデータ管理は, 並列実行を行うアーキテクチャに特化した処理が必要となる. +Cerium Task Managerを利用することで、このような煩わしいことから解放され, +並列計算の実装に集中することができる. + + +\section{新たに実装した並列実行の機構}\label{section:impl} + PlayStation 3/Cell 上の場合, 各 SPE に Task が割り当てられ, 並列に実行される. + 今回新たに, Mac OS X, Linux 上でも並列に実行させることを可能にした. -これは, PlayStation 3/Cell の Mailbox に対応させる形で, Synchronized Queue を用いてMac OS X, Linux 側の Cerium Task Manager の設計をし直したものである. - -本論文では, まず既存の Cerium Task Manager の実装について説明する. -その後, 新たに実装した並列実行の機構について説明する. - -\section{Cerium Task Manager} -Cerium Task Manager は, Cell アーキテクチャでの Fine-Grain Task Manager として本研究室の宮國が実装した. -\subsection{Cell Broadband Engine} -ここでは研究, 実験題材の対象となった Cell アーキテクチャについて説明する. -Cell Broadband Engine \cite{cell} -は, ソニー・コンピュータエンタテインメント, -ソニー, IBM, 東芝によって開発されたヘテロジニアスマルチコアプロセッサである. -Cell は, 1 基の制御系プロセッサコア PPE ( PowerPC Processor Element ) と - 8 基の演算系プロセッサコア SPE ( Synergistic Processor Element ) で構成される. - -各プロセッサコアは、EIB (Element Interconnect Bus) -と呼ばれる高速なバスで接続されている。また、EIB はメインメモリや -外部入出力デバイスとも接続されていて、 -各プロセッサコアは EIB を経由してデータアクセスをおこなう。 -PPE はメインメモリにアクセスすることができるが、SPE は、246KBのLSにのみ直接アクセスできる。 -SPEがメインメモリにアクセスするためには、DMAを用いることになる. -本研究で用いた PS3Linux (Yellow Dog Linux 6.2) では、6 個の SPE を -使うことが出来る ( \figref{fig:cell_arch} ) -この PPE と SPE の2種類の CPU を、プログラマ自身が用途に -合わせて適切に使い分けるように考慮する必要がある。 - -\begin{figure}[h] -\begin{center} -\includegraphics[scale=0.5]{./pic/cell-main.eps} -\end{center} -\caption{Cell Broadband Engine Architecture} -\label{fig:cell_arch} -\end{figure} - +これは, PlayStation 3/Cell の Mailbox に対応させる形で, +Synchronized Queue を用いてMac OS X, Linux 側の Cerium Task Manager の設計をし直したものである. \begin{thebibliography}{99}