changeset 3:5d089fb6c1a4

Add after plan
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Mon, 26 Oct 2015 05:00:31 +0900
parents 030fafbcb3ef
children 0c15ef224a10
files dummy.tex midterm.tex pic/List.bb pic/List.pdf pic/List.xbb pic/synchronizedQueue.bb pic/synchronizedQueue.pdf pic/synchronizedQueue.xbb
diffstat 8 files changed, 50 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- /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
--- 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/}.
--- /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
+
Binary file pic/List.pdf has changed
--- /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
+
--- /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
+
Binary file pic/synchronizedQueue.pdf has changed
--- /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
+