# HG changeset patch # User kkb # Date 1455783143 -32400 # Node ID 9e1747657acdc37922aee7ebd2974f2b076f471f # Parent e077497754a0646ed7e2a59f828efa735b6fbe6d revision diff -r e077497754a0 -r 9e1747657acd paper/abstract.tex --- a/paper/abstract.tex Thu Feb 18 16:13:20 2016 +0900 +++ b/paper/abstract.tex Thu Feb 18 17:12:23 2016 +0900 @@ -1,4 +1,5 @@ \begin{abstract} + % Gears Cerium はオブジェクト指向言語である C++ を用いて開発した並列プログラミングフレームワークである。 Task 間の依存関係を記述することで並列処理を行う。 しかし、Task 間の依存関係だけではデータの正しさを保証することができない。 diff -r e077497754a0 -r 9e1747657acd paper/abstract_eng.tex --- a/paper/abstract_eng.tex Thu Feb 18 16:13:20 2016 +0900 +++ b/paper/abstract_eng.tex Thu Feb 18 17:12:23 2016 +0900 @@ -1,14 +1,19 @@ \begin{abstract_eng} - Cerium is parallel programming framework developed by C++. - Describe Task-Dependency for parallel computing. - Task-Dependency can't ensure data correctness. - Task parameters has no type information for the use of untyped pointer. - Wrong type cast will produce undefined results. - Object-oriented programming(OOP) is incompatible with parallel computing. - Continuation based C(CbC) is programming language which uses Code Segment. - Use Code Segment as a unit of parallel computing. - We are developing Gears OS using Code/Data Segment. - Parallelism in a high performance Gears OS with Code/Data Segment. - We show same implementation of Gears OS using CbC. - Gears OS implementation is a guide to programming using Code/Data Segment. + In this thesis we have designed Gears OS based on Code/Data Segment. + It is a reimplementation of Cerium TaskManger. + Cerium is parallel programming framework developed by C++, which suports Cell broadband Engine, Shared Memory Multi CPU and GPU. + Prallel computing of Cerium describes by Tasks, which have Task-Dependency. + Data structures are passed to a Task as input/output parameters but the structures have no type constraints nore Data-Dependencies. + Cerium gives good peformancies, but without type correctness and Data-Dependency, its programming very difficult and unreliable. + Cerium is implement in C++, which is not suitable in parallel machine because objects in C++ has no refernsial transparelency. + Newly desined Gears OS is wrriten in Continuation base C(CbC). + CbC has Code Segments which are suitable as tasks, it also has Data Segments with Type-Signeture. + Gears OS has meta computatin supports. + For each Thread of Gears OS there is a meta data segment called context. + The Context contains a set of Code Segments and Data Segments in the threads, it also has a meta data Segment such as Data Segment Type-Signeture, Memory Allocation and Threads information. + A Code Segment passes the control to another Code Segment using a goto statement. + A Meta Computaion can be inserted between the Code Segments. + Using CbC, Code Segments, Data Segments and Meta Computaion, parallel computaion can be described in reliable style. + Since Gears OS itself is wrritened CbC it can be a guide to Gears OS Parallel Programming. + We show a prottype implemntation of Gears OS and show some examples including Red-Black Tree, Syncronized Queue, Simple parallel cmputaion example. \end{abstract_eng} diff -r e077497754a0 -r 9e1747657acd paper/cbc.tex --- a/paper/cbc.tex Thu Feb 18 16:13:20 2016 +0900 +++ b/paper/cbc.tex Thu Feb 18 17:12:23 2016 +0900 @@ -43,9 +43,9 @@ stub は接続される Code Segment から推論することが可能である。 また、Code Segment の遷移には Meta Code Segment を挟む。 Meta Code Segment への接続も省略して記述できるようにする。 -省略形のソースコード:\ref{sample}から実際にコンパイルされるソースコード:\ref{sample_trans}へ変換される。 +ノーマルレベルのソースコード:\ref{sample}から実際にコンパイルされるメタレベルを明示したソースコード:\ref{sample_trans}へ変換される。 \newpage -\lstinputlisting[label=sample, caption=省略形]{src/sample.c} -\lstinputlisting[label=sample_trans, caption=変換後]{src/sample_transform.c} +\lstinputlisting[label=sample, caption=ノーマルレベル]{src/sample.c} +\lstinputlisting[label=sample_trans, caption=メタレベル]{src/sample_transform.c} diff -r e077497754a0 -r 9e1747657acd paper/cerium.tex --- a/paper/cerium.tex Thu Feb 18 16:13:20 2016 +0900 +++ b/paper/cerium.tex Thu Feb 18 17:12:23 2016 +0900 @@ -1,4 +1,8 @@ \chapter{並列プログラミングフレームワーク Cerium} +% gears Os ha cerim kara +% many core to gpu de aruteido +% monndaitenga aru + Cerium は PlayStation 3(PS3) に搭載された Cell Broadband Engine(Cell) 向けの Fine-Grain TaskManager として当研究室で設計・開発されたフレームワークである。 本章では Cerium の実装について説明する。