Mercurial > hg > Papers > 2009 > tkaito-sigos
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 へ %容易に移植できることを目的とする。