view introduction.tex @ 10:1d3cd0c9eddb

*** empty log message ***
author gongo
date Mon, 14 Jul 2008 21:29:17 +0900
parents 30b41d745225
children a0c222f5fb40
line wrap: on
line source

\section{研究の目的}
本研究室では、PS3Linux を用いて学生によるゲーム開発を行っている。
しかし、通常のシーケンシャルなプログラムと違い、
Cell のような Many Core プログラミングは非決定的であり、デバッグが難しい。

Many Core プログラムを記述する場合、最初に逐次的なプログラムから記述して、
仕様やアルゴリズムの正しさを確認できたら、データやコードを分割し
並列に実行する。これらのステップ毎にプログラムの信頼性を得ながら
一つずつこなしていくことが必要となる。
本研究では、こういった開発行程をサポートするフレームワークとして、
Many Core Architecture 向けのFine Grain Task Manager を設計する。

%本研究では、Many Core Architecture 向けの Fine Grain Task Manager を設計する。
%Fine Grain Task の単位はサブルーチンまたは関数とし、
%全ての Core が絶えず動くようにすることで全体の並列化率を高める。
%
%Fine Grain Task 自身や、タスク全体のデバッグを容易にするために、
%同じタスクが Mac OS X や Linux、PS3 上など複数の環境で動くようにする。
%また、Thread を多用せず、細粒度タスク内での同期は行わない。
%これにより、並列プログラミングの経験の低いプログラマでも容易に使用できる。

例題として、本研究室で作成した、Rendering を含む PS3 上のゲームプログラム用
フレームワークである Cerium を用いる。Cerium は、次の 3 つから構成される。

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

Cerium は、先に述べた学生実験で使用しており、
並列プログラミング経験の浅い学生でも、
移植や改良、拡張が容易に行えるツールを目的としている。