# HG changeset patch # User Tatsuki IHA # Date 1445803231 -32400 # Node ID 5d089fb6c1a4eebbd41d62b8280ac1228da4a061 # Parent 030fafbcb3ef45bf7ef98996c682521c3cbd8f96 Add after plan diff -r 030fafbcb3ef -r 5d089fb6c1a4 dummy.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dummy.tex Mon Oct 26 05:00:31 2015 +0900 @@ -0,0 +1,10 @@ +%%% dummy.tex +% +\DeclareFontShape{JY1}{gt}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*min + <10.95><12><14.4><17.28><20.74><24.88> min10 + <-> min10}{} +\DeclareFontShape{JT1}{gt}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*tmin + <10.95><12><14.4><17.28><20.74><24.88> tmin10 + <-> tmin10}{} +\endinput +%%%% end of dummy.tex diff -r 030fafbcb3ef -r 5d089fb6c1a4 midterm.tex --- a/midterm.tex Sun Oct 25 04:54:31 2015 +0900 +++ b/midterm.tex Mon Oct 26 05:00:31 2015 +0900 @@ -60,6 +60,10 @@ これにより、並列実行時のデッドロックの検出などを行うことでプログラムの信頼性を確保する。 Model Checking の実現には Meta Code/Data Gearを用いる。 +本研究室で開発している CbC(Continuation based C)\cite{cbc-llvm} を用いて、Gears OS を実装する。 +CbC はプログラムを Code Segment, Data Segment という単位で記述する。 +CbC において Code Segment 間の処理の移動は function call ではなく、goto を用いた軽量継続を用いる。 + Gears OS は Many Core CPU, GPU といった並列実行環境に合わせた設計・実装を行う。 また、接続する Gear を変更することでプログラムの振る舞いを変更することを可能にする柔軟性、Monad に基づくメタ計算による並行制御、Model Checking を用いた信頼性の確保を目的とする。 @@ -110,8 +114,6 @@ \item Data Gear に格納される Data Type の情報 \end{itemize} - - \section{List} 通常 List は要素と次へのポインタを持つ構造体で表現される。 Gears OS の場合、Meta レベル以外でポインタは扱わないので図\ref{fig:list}のように任意の要素を持つ Data Gear と次へのポインタを持つ Meta Data Gear の組によって List は表現される。 @@ -128,7 +130,14 @@ Gears OS の機能は状態遷移図とクラスダイアグラムを組み合わせた図で表現する。 この図を GearBox と呼ぶことにする。 図\ref{fig:sync}は Synchronized Queue の GearBox である。 -M:receiver/sender が CAS を行う Meta Code Gear となる。 +M:get/put が CAS を行う Meta Code Gear となる。 +今回は CAS で実装しているが、接続する Meta Code Gear を変更することで通常のQueueやLockを使用したsynchronizedQueueなど仕様変更にも対応できる。 + +\section{今後の課題} +Gears OS の今後の目的はCeriumと同等の例題を動かすことである。 +現在、必要な機能として Context、 Allocator、 List、 Non-Destructive Red-Black Tree、 Synchronized Queue を CbC を用いて実装しており、足りない機能としてはWorkerがある。 +Workerの実装後、動かす例題としては Bitonic Sort、 Word Count を予定している。 +例題の実装後、測定・評価を行う。 \begin{figure}[ht] \centering @@ -155,19 +164,13 @@ 河野真治,杉本 優:Code Segment と Data Segment によるプログラミング手法,第54回プログラミング・シンポジウム (2013). - \bibitem{cbc} - 河野真治,島袋 仁:C with Continuation - と、そのPlayStationへの応用,情報処理学会システムソフトウェアとオペレーティング・システム研究会(OS) - (2000). - \bibitem{cbc-llvm} 徳森海斗,河野真治:Continuation based C の LLVM/clang 3.5 上の実装について,情報処理学会システムソフトウェアとオペレーティング・システム研究会(OS) (2014). \bibitem{monad} - Moggi, E.: Computational lambda-calculus and monads, {\em Proceedings of the - Fourth Annual Symposium on Logic in computer science} (1989). + Moggi, E.: Computational lambda-calculus and monads, {\em Proceedings of the Fourth Annual Symposium on Logic in computer science} (1989). \bibitem{model-check} 下地篤樹,河野真治:線形時相論理によるContinuation based @@ -175,8 +178,7 @@ (2007). \bibitem{opencl} - {Aaftab Munshi, Khronos OpenCL Working Group}: {\em {The OpenCL Specification - Version 1.0}} (2007). + {Aaftab Munshi, Khronos OpenCL Working Group}: {\em {The OpenCL Specification Version 1.0}} (2007). \bibitem{cuda} : {CUDA}, {https://developer.nvidia.com/category/zone/cuda-zone/}. diff -r 030fafbcb3ef -r 5d089fb6c1a4 pic/List.bb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pic/List.bb Mon Oct 26 05:00:31 2015 +0900 @@ -0,0 +1,5 @@ +%%Title: List.pdf +%%Creator: extractbb 20150315 +%%BoundingBox: 0 0 548 260 +%%CreationDate: Sun Oct 25 04:25:52 2015 + diff -r 030fafbcb3ef -r 5d089fb6c1a4 pic/List.pdf Binary file pic/List.pdf has changed diff -r 030fafbcb3ef -r 5d089fb6c1a4 pic/List.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pic/List.xbb Mon Oct 26 05:00:31 2015 +0900 @@ -0,0 +1,8 @@ +%%Title: List.pdf +%%Creator: extractbb 20150315 +%%BoundingBox: 0 0 548 260 +%%HiResBoundingBox: 0.000000 0.000000 548.000000 260.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Sun Oct 25 04:25:42 2015 + diff -r 030fafbcb3ef -r 5d089fb6c1a4 pic/synchronizedQueue.bb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pic/synchronizedQueue.bb Mon Oct 26 05:00:31 2015 +0900 @@ -0,0 +1,5 @@ +%%Title: synchronizedQueue.pdf +%%Creator: extractbb 20150315 +%%BoundingBox: 0 0 505 821 +%%CreationDate: Sun Oct 25 04:25:56 2015 + diff -r 030fafbcb3ef -r 5d089fb6c1a4 pic/synchronizedQueue.pdf Binary file pic/synchronizedQueue.pdf has changed diff -r 030fafbcb3ef -r 5d089fb6c1a4 pic/synchronizedQueue.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pic/synchronizedQueue.xbb Mon Oct 26 05:00:31 2015 +0900 @@ -0,0 +1,8 @@ +%%Title: synchronizedQueue.pdf +%%Creator: extractbb 20150315 +%%BoundingBox: 0 0 505 821 +%%HiResBoundingBox: 0.000000 0.000000 505.000000 821.000000 +%%PDFVersion: 1.4 +%%Pages: 1 +%%CreationDate: Sun Oct 25 04:25:48 2015 +