view paper/introduction.tex @ 4:7af0000e5967

test
author admin@mb22-no-macbook.local
date Tue, 17 Mar 2009 01:57:54 +0900
parents 29578a748ed9
children 5269ce12fdde
line wrap: on
line source

\section{研究の目的}

%% % これは研究の目的としては「近すぎる」
%% % 最終目標は「レンダリングエンジンを作る」ではなく
%% % 「OSを作る」だから。(でいいのかな
%%
%%PlayStation 3 (以下 PS3) では、搭載された Linux を用いて、
%%PS3 上で動くゲーム開発することができる。
%%しかし、現在 GPU (Graphics Processing Unit) の API は
%%一般には公開されていないため、GPU を使った描画はできない。
%%Frame Buffer 上には直接描画することはできるため、
%%我々は Frame Buffer 上に描画するゲームフレームワークを提案してきた。
%%
%%本研究では、PS3 上で高速な描画が可能な、独自のレンダリングエンジンとして、
%%Cerium Rendering Engine の開発を行う。
%%Cerium は、次の 3 つから構成される。
%%
%%\begin{itemize}
%%  \item Scene Graph
%%  \item Rendering Engine
%%  \item Task Manager
%%\end{itemize}
%%
%%Cerium は Cell 上だけでなく、Linux や Mac OS X 上でも
%%動く、シーケンシャルなプログラムも実装することが出来る。
%%並列プログラムとシーケンシャルプログラムの相互の変換は容易である。
%%これにより、全体の動作のデバッグはシーケンシャルプログラムで行い、
%%仕様が正しいと確認できたら、 Cell 上などの特有の環境で
%%動作、デバッグを行えばいい。
%%

%近年、CPU の性能向上は、クロックサイクルを上げることよりも、
%複数の CPU コア (Many Core Architecture) を導入することにより
%得られるようになってきている。しかし、Many Core Architecture の
%プログラムは複雑であり、その信頼性を確保することは難しい。

%本研究では、Many Core Architecture 向けの Fine Grain Task OS を設計する。
%この OS では、Amdahl 則を考慮して、
%定常的な並列性を細粒度タスクを使って実現する。
%そのために、シーングラフレベルから並列実行を考慮したプログラムとする。

%細粒度タスク自体や、タスク全体のデバッグを容易にするために、
%同じタスクが Mac OS X や Linux、PS3 上など複数の環境で動くようにする。
%また、Thread を多用せず、細粒度タスク内での同期は行わない。
%これにより、並列プログラミングの経験の低いプログラマでも
%容易に使用できる。

PS3 上の Cell に搭載されている SPE は Local Store (256KB) にしかアクセスできず、
メインメモリには直接アクセスすることができない。
メインメモリにアクセスするには Memory Flow Controller を用いて Direct Memory Access 命令を
送らなければならない。またこの DMA には待ち時間が発生する。待ち時間の間 SPE が動作しなければ
マルチコアプロセッサのパフォーマンスが極端に下がる。

本研究では、SPE 内のデータ管理を行うことによって Cell プログラミングの並列度を確保する手法を提案する。


%Cerium は、次の 3 つから構成される。

%\begin{itemize}
%  \item Scene Graph
%  \item Rendering Engine
%  \item Fine Grain Task Manager
%\end{itemize}

%Cerium では、Cell の性能を十分に引き出し、
%今まで作成してきた PS、PS2 のゲームプログラムを PS3 へ
%容易に移植できることを目的とする。