Mercurial > hg > Papers > 2017 > mitsuki-prosym
changeset 35:d98dc007854b
update
author | mir3636 |
---|---|
date | Sun, 21 Jan 2018 09:30:16 +0900 |
parents | 529e93784da3 |
children | 3f9931c6488f |
files | Slide/prosym.html Slide/prosym.md |
diffstat | 2 files changed, 61 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/Slide/prosym.html Sun Jan 21 08:35:25 2018 +0900 +++ b/Slide/prosym.html Sun Jan 21 09:30:16 2018 +0900 @@ -86,7 +86,7 @@ <!-- === begin markdown block === generated by markdown/1.2.0 on Ruby 2.4.0 (2016-12-24) [x86_64-darwin16] - on 2018-01-21 00:45:59 +0900 with Markdown engine kramdown (1.13.2) + on 2018-01-21 08:47:18 +0900 with Markdown engine kramdown (1.13.2) using options {} --> @@ -226,24 +226,45 @@ __code code2(struct Array* array) { ... } - </code></pre> -<p># Gears OS の構成 -- Gears OS は以下の要素で構成される。 - - Context - - 使用されるCode/Data Gear のリストを持っておりTaskでもある。<br /> - - TaskQueue - - Task のリストを扱う - - TaskManager - - Task の依存関係の解決、作成や停止を行います。 - - Worker - - Task の実行を行う</p> </div> <div class='slide '> <!-- _S9SLIDE_ --> -<h1 id="gears-os-">Gears OS の構成図</h1> +<h1 id="gears-os-">Gears OS の構成</h1> +<ul> + <li>Gears OS は以下の要素で構成される。 + <ul> + <li>Context + <ul> + <li>使用されるCode/Data Gear のリストを持っておりTaskでもある。</li> + </ul> + </li> + <li>TaskQueue + <ul> + <li>Task のリストを扱う</li> + </ul> + </li> + <li>TaskManager + <ul> + <li>Task の依存関係の解決、作成や停止を行います。</li> + </ul> + </li> + <li>Worker + <ul> + <li>Task の実行を行う</li> + </ul> + </li> + </ul> + </li> +</ul> + + +</div> +<div class='slide '> +<!-- _S9SLIDE_ --> +<h1 id="gears-os--1">Gears OS の構成図</h1> <div style="text-align: center;"> <img src="./fig/gears_structure.pdf" alt="gears_structure" width="900" /> @@ -302,6 +323,28 @@ }; </code></pre> + +</div> +<div class='slide '> +<!-- _S9SLIDE_ --> +<h1 id="data-gear-">Data Gear の定義</h1> +<ul> + <li>Data Gear は union と struxt を用いて定義される</li> + <li>これをもとに必要な Data Gear の allocate を行う</li> +</ul> + +<pre lang="data"><code>union Data { + struct Time { + enum Code next; + double time; + } time; + struct LoopCounter { + int i; + } loopCounter; + ... +}; +</code></pre> + <!-- # CbC による Gears OS 記述の問題点 - Gears OS を CbC で実装する上でメタ計算の記述が煩雑であることがわかった。 @@ -428,9 +471,6 @@ <li>現在の CbC で Gears OS を記述すると、このメタ計算の記述も行わなくてはならず、これには多くの労力を要する。</li> <li>この記述を助けるために Context を生成する generate_context と stub Code Gear を生成する generate_stub を perl スクリプトで作成した。</li> </ul> -<div style="text-align: center;"> - <img src="./fig/generate_context.pdf" alt="generate_context" width="900" /> -</div> </div>
--- a/Slide/prosym.md Sun Jan 21 08:35:25 2018 +0900 +++ b/Slide/prosym.md Sun Jan 21 09:30:16 2018 +0900 @@ -97,8 +97,8 @@ __code code2(struct Array* array) { ... } +``` -``` # Gears OS の構成 - Gears OS は以下の要素で構成される。 - Context @@ -155,6 +155,7 @@ D_dg2, }; ``` + # Data Gear の定義 - Data Gear は union と struxt を用いて定義される - これをもとに必要な Data Gear の allocate を行う @@ -307,10 +308,9 @@ </div> # 今後の課題 -- 本研究では interface の記述、CbC ファイルから Gears OS の記述に必要な Context と stub の生成を行う perl スクリプトの生成を行なった。 +- 本研究では CbC を用いた Gears OS の記述、CbC ファイルから Gears OS の記述に必要な Meta の生成を行う perl スクリプトの作成を行なった。 - これにより Gears OS のコードの煩雑さは改善され、ユーザーは Context への接続を意識する必要がなくなった。 -- 今後の課題は Code Gear からメタ計算を行う meta Code Gear を生成できるようにし、ユーザーがメタレベルの処理を意識せずにコードを記述できるようにする。 -- また、今回 perl スクリプトによって Context や stub の生成を行なったが、LLVM/clang 上で実装しコンパイラで直接 CbC を実行できるようにすることを目的とする。 - +- 今後の課題は今回 perl スクリプトによって Context や stub を含むファイルの生成を行なったが、LLVM/clang 上で実装しコンパイラから直接 CbC を実行できるようにすることを目的とする。 +- また、xv6 を Gears OS での書き換えや、継続ではスタックは積まないため、スタックトレースを使わない手法でのデバッグの考案などもある。 [](プロシン発表時間 セッション7 1/21 10:40 - 12:00)