view 2017/2017_12_26/slide.md @ 29:791013bd4429

Update
author Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
date Tue, 09 Jan 2018 15:22:00 +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 によって依存関係が決定し、それにそって並列実行を行う.
- 信頼性の確保はモデルチェック、検証等を使用して行う。この信頼性のための計算は通常の計算とは別の階層のメタ計算として記述する。
- また、 メタ計算は信頼性の他に CPU, GPU などの実行環境の切り替え, データ拡張等の柔軟性を提供する。
- 本研究では、 Gears OS の並列処理機構の実装を行う。また、並列処理の検証をメタ計算として記述することで、 並列処理の信頼性を保証する。

## 今週
- Gears のリファクタ
- interface file から引数の情報を取得する

## CbC 側の修正
- interface.cbc -> interface.h に rename
- Impl 側には使用している interface を記述する
  - \#interface

```
#include "../context.h"
#include <stdio.h>
#interface "Queue.h"

Queue* createSingleLinkedQueue(struct Context* context) {
    struct Queue* queue = new Queue();
    struct SingleLinkedQueue* singleLinkedQueue = new SingleLinkedQueue();
    queue->queue = (union Data*)singleLinkedQueue;
    ....
```

## perl script の修正
- 今まで createImpl から引数情報を取っていたところを #interface に変更
- \#interface は compileには通らないので、 cのファイルとして書き出す際に削除する
- これでほとんどの goto meta を消せそう
  - TaskManagerImpl からは消した

## next
- そろそろ論文