view 2016/2016_05_17/slide.md @ 17:8e98a8e122e6

Update
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Sat, 11 Jun 2016 15:59:17 +0900
parents
children
line wrap: on
line source

title: Gears OS の依存関係の解決
author: Tatsuki IHA
profile:
lang: Japanese
code-engine: coderay

# 研究目的
- 当研究室では  処理の単位を Code Gear、 データの単位を Data Gear を用いて 信頼性が高い並列処理を行う Gears OS を開発している
- Gears OS では Task を Code Gear と実行するときに必要な Input Data Gear と出力するための Output Data Gear の組で表現される。 Input Data Gear/Output Data Gear によって依存関係が決定し、それにそって並列実行を行う
- 現在のGears OS は 依存関係がある並列処理を行うことが出来ない。 この研究ではGears OS の依存関係の解決を目標とする

# やったこと
- OS研究会を出しました
- まえけんと木曜日に torque しました
- OSC の申し込みしました
- Gears の meta data segment

# OSC の申し込み
-  展示
    - 並列信頼研究室の研究内容について(Alice, Gears, TreeVNC, Jungle)
- セミナープログラム
    - 「ソースコードリーディングの理想と現実」

# Gears の Meta Data Gear
- 現在 Gears では明確に Data Gear と Meta Data Gear 区分けをしていない
- 依存関係の解決のため、 DS にくっつく List が必要となった
    - この List は Meta Data Gear
- そのため、今回 Data Gear と Meta Data Gear を区分けしたい


# context.h 
- 完全に別の所におく

``` c
struct Context {
    enum Code next;
    ....
};

union MetaData {
    struct MetaDataGear {
    } metaDataGear;
};

union Data {
    struct Time {
        enum Code next;
        double time;
    } time;
    ....
};
```

# allocate
- 通常のData Gear と同じでlinear allocate で allocate する
- その際、 Data Gear と Meta Data Gear を結びつける必要があるので、 それぞれにオフセットを付ける

![meta allocate](./pictures/metaAllocate.svg)