changeset 21:3969cb54328a

update slide
author mir3636
date Mon, 15 May 2017 18:24:55 +0900
parents 14c29d30af86
children 896596d841c9
files presen/slide.md
diffstat 1 files changed, 27 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/presen/slide.md	Mon May 15 18:14:36 2017 +0900
+++ b/presen/slide.md	Mon May 15 18:24:55 2017 +0900
@@ -6,14 +6,15 @@
 
 # メタ計算を使った並列処理
 
-- 並列処理のプラグラミングは、処理のパイプライン
+- 並列処理のプログラミングはチューニングや信頼性の確保が困難である。
+- これらのチューニングや信頼性の確保を、アルゴリズムから分離しメタ計算で行う
 - 当研究室ではメタ計算をサポートする言語として Continuation based C (CbC) を開発している
 - CbC は Code Gear と Data Gear という処理とデータの単位を持っており、メタ計算を行うための Meta Code Gear、Meta Data Gear がある。
 - Gears OS は CbC を用いて記述されている。
 
 # Code Gear Data Gear
 
-- Code Gear Data Gear とはプラグラムを分解し、処理の部分を Code Gear int や文字列などの部分を Data Gear という単位で分ける。
+- Code Gear Data Gear とはプログラムを分解し、処理の部分を Code Gear、int や文字列などの部分を Data Gear という単位で分割したものである。
 - Code Gearの処理はその処理に必要な Data Gear が揃ってから行われる。
 - Code Gear の処理の移行は goto を使って行い、この移行の仕方を継続という。
 - goto による移行は戻り値を持たないため、スタックを積む必要のない、スタックに積まない継続を軽量継続と呼ぶ。
@@ -96,6 +97,30 @@
 - CUDA ライブラリの初期化を行う以外の動作はCPUWoker と全く同じとなる。
 - GPU へのデータ転送及びGPU側でのTaskの実行はTaskのMeta Code Gear で行われる。
 
+<!--  
+# CbC による Gears OS 記述の問題
+
+- Gears OS を CbC で実装する上でメタ計算の記述が煩雑であることがわかった。
+- これらのメタ計算を自動生成することにより Gears OS を記述する上においてより良い構文をユーザーに提供することにした。  
+-->
+
+<!-- 順番まだ考えてない 
+
+# interface の記述
+
+- interface は呼び出しの引数になる Data Gear の集合であり、そこで呼び出される Code Gear のエントリである。  
+- 呼び出される Code Gear の引数となる Data Gear はここで全て定義される。
+- Code Gear、Data Gear に参照するために Context を通す必要があるが、interface を記述することでデータ構造の API と Data Gear を結びつけることが出来、 呼び出しが容易になった。
+
+# stub Code Gear
+
+- Code Gear が必要とする Data Gear を取り出す際に Context を通す必要があるが、Context を直接扱うのはセキュリティ上好ましくない。
+- そこで Context から必要なデータを取り出して Code Gear に接続する stub Code Gear を定義し、これを介して間接的に必要な Data Gear にアクセスする。
+- stub Code Gear は Code Gear 毎に生成され、次の Code Gear へと継続する間に挟まれる。
+
+# 生成
+-->
+
 # 依存関係の解決
 - Gears での依存関係の解決は Data Gear にQueueをもたせることで行う
 - Queue には その Data Gear を待っている Task が入っている