Mercurial > hg > Papers > 2016 > kkb-master
changeset 21:9e1747657acd
revision
author | kkb |
---|---|
date | Thu, 18 Feb 2016 17:12:23 +0900 |
parents | e077497754a0 |
children | faaba0936fa9 |
files | paper/abstract.tex paper/abstract_eng.tex paper/cbc.tex paper/cerium.tex |
diffstat | 4 files changed, 25 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- 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 間の依存関係だけではデータの正しさを保証することができない。
--- 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}
--- 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}
--- 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 の実装について説明する。