changeset 1:3b7da0b661cc

Add slide.md
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Tue, 04 Aug 2015 18:12:46 +0900
parents 47676a16ed13
children 84e274f37fca
files 2015/2015_01_20/slide.md 2015/2015_01_27/slide.md 2015/2015_01_29/slide.md 2015/2015_02_12/slide.md 2015/2015_02_17/slide.md 2015/2015_02_24/slide.md 2015/2015_02_3/slide.md 2015/2015_02_5/slide.md 2015/2015_03_10/slide.md 2015/2015_03_17/slide.md 2015/2015_04_07/slide.md 2015/2015_04_14/slide.md 2015/2015_04_21/slide.md 2015/2015_05_05/slide.md 2015/2015_05_19/slide.md 2015/2015_05_25/slide.md 2015/2015_06_02/slide.md 2015/2015_06_09/slide.md 2015/2015_06_16/slide.md 2015/2015_06_30/slide.md 2015/2015_07_14/slide.md 2015/2015_07_21/slide.md 2015/2015_07_28/slide.md 2015/2015_08_04/slide.md
diffstat 24 files changed, 807 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_01_20/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,16 @@
+title: 1/20 ゼミ
+author: Tatsuki IHA
+profile:
+lang: Japanese
+
+# 近況報告
+- 先週から昨日にかけてM2の測定系があまりないらしいです
+- OS(今日の3限)のTree VNC の測定に同行
+
+# 卒論について
+- Ceriumの再設計
+- Alice VNC
+- Tree VNC?
+- Shienの引継(これはB3の3人が引き継ぐ?)
+- CbCのData Segmentの実装
+- Jungle
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_01_27/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,15 @@
+title: 1/27 ゼミ
+author: Tatsuki IHA
+profile:
+lang: Japanese
+
+# 近況報告
+- M2の測定系があまりないらしいです
+- OS(先週の3限)のTree VNC の測定に同行
+
+# 卒論について
+- CbCのData Segmentの実装
+- Jungle
+- Tree VNC
+- Ceriumの再設計
+- Shien(これはB3の3人が引き継ぐ?)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_01_29/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,13 @@
+title: 1/29 ゼミ
+author: Tatsuki IHA
+profile:
+lang: Japanese
+# 研究目的
+- 
+# 近況
+- CbC_llvm の make
+- CbC_examples の make
+- LLVM 3.6 -> 3.7
+
+# CbC_llvm の make
+# 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_02_12/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,33 @@
+title: 2/3 ゼミ
+author: Tatsuki IHA
+profile:
+lang: Japanese
+
+# 研究目的
+- 当研究室では, プログラムをコードセグメント, データセグメントという単位を用いて記述する手法を提案している.
+- この手法を用いてプログラミングを行うContinuation based C というプログラミング言語を開発しており, これはCの下位言語にあたる.
+- 本研究ではLLVM 3.7での実行を目的とする.
+
+# 近況報告
+- CbCのMake
+- CbC_examplesのMake
+- LLVM_originalを 3.6 -> 3.7
+- CbC_LLVMを 3.6 -> 3.7(途中)
+
+# CbCのMake
+- wikiの通りMake
+- CbC_llvmをclone
+- ./configure
+- make
+
+# CbC_examplesのMake
+
+# LLVM_originalを3.6 -> 3.7
+- こちらもwiki通り
+- llvm, clang 最新版をclone
+- 研究室のmercurialのCbC/LLVM_originalをclone
+- LLVM_originalを最新版に置き換え
+
+# CbC_LLVMを3.6 -> 3.7
+- 大量のConflictを撮ってる途中です.
+- CbCのコードはマクロで条件付けしているので, そのコードと最新版に置き換えてます.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_02_17/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,33 @@
+title: CbC LLVM 3.7へのアップデート
+author: Tatsuki IHA
+profile:
+lang: Japanese
+
+# 研究目的
+- 当研究室では, プログラムをコードセグメント, データセグメントという単位を用いて記述する手法を提案している.
+- この手法を用いてプログラミングを行うContinuation based C というプログラミング言語を開発しており, これはCの下位言語にあたる.
+- 本研究ではLLVM 3.7での実行を目的とする.
+
+# 近況報告
+- CbCのMake
+- CbC_examplesのMake
+- LLVM_originalを 3.6 -> 3.7
+- CbC_LLVMを 3.6 -> 3.7(途中)
+
+# CbCのMake
+- wikiの通りMake
+- CbC_llvmをclone
+- ./configure
+- make
+
+# CbC_examplesのMake
+
+# LLVM_originalを3.6 -> 3.7
+- こちらもwiki通り
+- llvm, clang 最新版をclone
+- 研究室のmercurialのCbC/LLVM_originalをclone
+- LLVM_originalを最新版に置き換え
+
+# CbC_LLVMを3.6 -> 3.7
+- 大量のConflictを撮ってる途中です.
+- CbCのコードはマクロで条件付けしているので, そのコードと最新版に置き換えてます.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_02_24/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,41 @@
+title: CbC LLVM 3.7へのアップデート
+author: Tatsuki IHA
+profile:
+lang: Japanese
+
+# 研究目的
+- 当研究室では, プログラムをコードセグメント, データセグメントという単位を用いて記述する手法を提案している.
+- この手法を用いてプログラミングを行うContinuation based C というプログラミング言語を開発しており, これはCの下位言語にあたる.
+- 本研究ではLLVM 3.7での実行を目的とする.
+
+# 近況報告
+- CbC_LLVMを 3.6 -> 3.7
+- CbC_examplesをmake
+- EasyPackage
+
+# CbC_LLVMを 3.6 -> 3.7
+- 基本的に \#ifndef noCbC の部分を残しずつ3.7のコードへ
+- ParseCbC.cppのCompileでErrorが吐かれた所を修正
+
+# ParseCbC.cppの修正
+- ParseCbC.cppで呼び出しているSema::ClassifyNameの引数の型が変更されていた(tools/clang/lib/Sema/SemaDecl.cpp)
+
+# ParseCbC.cppの修正
+- LLVM 3.6
+    - `ClassifyName(Scope *S, ........, CorrectionCandidateCallback *CCC = nullptr);`
+
+- LLVM3.7
+    - `ClassifyName(Scope *S, ........, std::unique_ptr<CorrectionCandidateCallback> CCC = nullptr);`
+
+# ParseCbC.cppの修正
+- ParseCbCでの呼び出し部分を `CorrectionCandidateCallback *` -> `std::unique_ptr<CorrectionCandidateCallback>` に変更
+
+# ParseCbC.cppの修正
+- DeclaratorChunk::getFunctionの引数の数が変更されていた(tools/clang/lib/Sema/DeclSpec.cpp)
+- 追加された引数
+    - `SourceLocation RestrictQualifierLoc`
+    - `CacheTokens *ExceptionSpecTokens`
+
+# EasyPackage
+- EasyPackageのページ(http://www.ie.u-ryukyu.ac.jp/darwin4u/)がPHP version up前のpukiwikiらしく見ることができませんでした.
+- シス管のPHP version up担当者にとりあえず連絡しました. 近いうちに見れるようになると思います.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_02_3/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,15 @@
+title: 2/3 ゼミ
+author: Tatsuki IHA
+profile:
+lang: Japanese
+
+
+# 研究目的
+
+# 近況報告
+- CbCのMake
+- CbC_examplesのMake
+- LLVM_originalを 3.6 -> 3.7 へ
+
+# 測定系
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_02_5/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,33 @@
+title: 2/3 ゼミ
+author: Tatsuki IHA
+profile:
+lang: Japanese
+
+# 研究目的
+- 当研究室では, プログラムをコードセグメント, データセグメントという単位を用いて記述する手法を提案している.
+- この手法を用いてプログラミングを行うContinuation based C というプログラミング言語を開発しており, これはCの下位言語にあたる.
+- 本研究ではLLVM 3.7での実装を目的とする.
+
+# 近況報告
+- CbCのMake
+- CbC_examplesのMake
+- LLVM_originalを 3.6 -> 3.7
+- CbC_LLVMを 3.6 -> 3.7(途中)
+
+# CbCのMake
+- wikiの通りMake
+- CbC_llvmをclone
+- ./configure
+- make
+
+# CbC_examplesのMake
+
+# LLVM_originalを3.6 -> 3.7
+- こちらもwiki通り
+- llvm, clang 最新版をclone
+- 研究室のmercurialのCbC/LLVM_originalをclone
+- LLVM_originalを最新版に置き換え
+
+# CbC_LLVMを3.6 -> 3.7
+- 大量のConflictを撮ってる途中です.
+- CbCのコードはマクロで条件付けしているので, そのコードと最新版に置き換えてます.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_03_10/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,39 @@
+title: CbC LLVM
+author: Tatsuki IHA
+profile:
+lang: Japanese
+
+# 研究目的
+- 当研究室では, プログラムをコードセグメント, データセグメントという単位を用いて記述する手法を提案している.
+- この手法を用いてプログラミングを行うContinuation based C というプログラミング言語を開発しており, これはCの下位言語にあたる.
+
+
+# 近況報告
+- CbC_LLVMを 3.6 -> 3.7
+- CbC_examplesをmake
+- きつねさんでもわかるLLVM読み始めました
+
+# CbC_LLVMを 3.6 -> 3.7
+- 基本的に \#ifndef noCbC の部分を残しずつ3.7のコードへ
+- ParseCbC.cppのCompileでErrorが吐かれた所を修正
+
+# ParseCbC.cppの修正
+- ParseCbC.cppで呼び出しているSema::ClassifyNameの引数の型が変更されていた(tools/clang/lib/Sema/SemaDecl.cpp)
+
+# ParseCbC.cppの修正
+- LLVM 3.6
+    - `ClassifyName(Scope *S, ........, CorrectionCandidateCallback *CCC = nullptr);`
+
+- LLVM3.7
+    - `ClassifyName(Scope *S, ........, std::unique_ptr<CorrectionCandidateCallback> CCC = nullptr);`
+
+# ParseCbC.cppの修正
+- ParseCbCでの呼び出し部分を `CorrectionCandidateCallback *` -> `std::unique_ptr<CorrectionCandidateCallback>` に変更
+
+# ParseCbC.cppの修正
+- DeclaratorChunk::getFunctionの引数の数が変更されていた(tools/clang/lib/Sema/DeclSpec.cpp)
+- 追加された引数
+    - `SourceLocation RestrictQualifierLoc`
+    - `CacheTokens *ExceptionSpecTokens`
+
+# 何をベースとするか
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_03_17/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,13 @@
+title: LLVMをベースとした新しい言語の開発(仮)
+author: Tatsuki IHA
+profile:
+lang: Japanese
+
+# 研究目的
+- 当研究室では, プログラムをコードセグメント, データセグメントという単位を用いて記述する手法を提案している.
+- この手法を用いてプログラミングを行うContinuation based C というプログラミング言語を開発しており, これはCの下位言語にあたる.
+- 
+
+# 近況報告
+- 
+- A Tour of Go
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_04_07/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,22 @@
+title: LLVMをベースとしたコンパイラの実装(仮)
+author: Tatsuki IHA
+profile:
+lang: Japanese
+
+# 研究目的
+- 当研究室では, プログラムをコードセグメント, データセグメントという単位を用いて記述する手法を提案している.
+- この手法を用いてプログラミングを行うContinuation based C というプログラミング言語を開発しており, これはCの下位言語にあたる.
+
+# 近況報告
+- A Tour of Go
+- LLVMのコード読み
+
+# Frontendをどうするか
+- 色々触った感じはGo
+- どのようなsyntaxにするか?
+
+# code segment
+- Go Routine 
+
+# data segment
+- structがあるのでそれでもつ
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_04_14/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,62 @@
+title: CbCのData Segmentの設計
+author: Tatsuki IHA
+profile:
+lang: Japanese
+
+# 研究目的
+- 当研究室では, プログラムをコードセグメント, データセグメントという単位を用いて記述する手法を提案している.
+- この手法を用いてプログラミングを行うContinuation based C というプログラミング言語を開発しており, これはCの下位言語にあたる.
+- この研究ではGearsのData Segmentの設計を行いつつ, CbCでのData Segmentの設計, 実装を行うことを目的とする.
+
+# 近況報告
+- GearsのData Segmentの設計
+
+# GearsのCode Segment
+- In Data Segmentの受け取り
+- Out Data segmentの生成(flipする場合もあり)
+- Code Segmentは次のCode Segmentを持っていない
+- Meta Code Segmentに次のCode Segmentの参照を持たせる
+
+# GearsのCode Segment
+![](./pictures/code_segment.jpg)
+
+# GearsのCode Segment
+![](./pictures/relation_cs_and_ds.jpg)
+
+# GearsのData Segment
+- Data Segmentは実際の値を持たせる
+- Meta Data Segmentにはsignatureへの参照, 次のData Segmentの参照を持たせる
+
+# GearsのData Segment
+![](./pictures/data_segment.jpg)
+
+# Data SegmentでのList
+- Data Segmentに値
+- Meta Data Segmentに繋がっているData Segmentの参照をもたせる
+
+# Data SegmentでのList
+![](./pictures/list.jpg)
+
+# GearsでのAllocateContext実装
+- Code Segmentの参照はContextでもつ
+- 呼ぶCode Segmentのenumでもち, Meta Code Segmentには次のCode Segmentのenumを渡す
+
+
+# AllocateContextの初期化
+``` C
+__code initAllocateContext(struct Context* context) {
+    
+    ....
+    context->code[Code1]    = code1;
+    context->code[Code2]    = code2;
+    context->code[Code3]    = code3;
+    ....
+}
+```
+
+# Meta Code Segment
+``` C
+__code meta(struct Context* context, enum Code next) {
+    goto (context->code[next])(context);
+}
+```
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_04_21/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,29 @@
+title: Monadに基づくMeta計算を基本とするGears OSの設計
+author: Tatsuki IHA
+profile:
+lang: Japanese
+
+# 研究目的
+- 当研究室では, プログラムをコードセグメント, データセグメントを用いた並列フレームワークの開発を行っている.
+- Gears OSでは, 並列実行に必要なMetaな機能を関数型言語におけるMonadの原理に基づいて実現する.
+- また, Code Segment, Data SegmentそれぞれにMeta Code Segment, Meta Data Segmentを付属させる.
+- この研究ではGears OSの機能をCbC(Continuation based C)で実装、評価することを目的とする.
+
+# GearsのCode Segment
+- In Data Segmentの受け取り
+- Out Data segmentの生成(flipする場合もあり)
+- Code Segmentは次のCode Segmentを持っていない
+- Meta Code Segmentに, 次のCode Segmentの参照, Meta Computationを行う
+
+# GearsのCode Segment
+![](./pictures/code_segment.jpg)
+
+# GearsのData Segment
+- Data Segmentは実際の値を持たせる
+- Meta Data Segmentにはsignatureへの参照, 次のData Segmentの参照を持たせる
+
+# Data SegmentでのList
+![](./pictures/list.jpg)
+
+# Data SegmentでのSynchronized queue
+![](./pictures/Synchronized_queue.jpg)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_05_05/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,31 @@
+title: Monadに基づくMeta計算を基本とするGears OSの設計
+author: Tatsuki IHA
+profile:
+lang: Japanese
+
+# 研究目的
+- 当研究室では, プログラムをコードセグメント, データセグメントを用いた並列フレームワークの開発を行っている.
+- Gears OSでは, 並列実行に必要なMetaな機能を関数型言語におけるMonadの原理に基づいて実現する.
+- また, Code Segment, Data SegmentそれぞれにMeta Code Segment, Meta Data Segmentを付属させる.
+- この研究ではGears OSの機能をCbC(Continuation based C)で実装、評価することを目的とする.
+
+# Gaer Box
+- 基本はState Diagramで記述
+- State DiagramのStateをCode Gear(Code Segment)
+- Code Gear間にData Gear(Data Segment)を記述
+
+# Gear Box
+![GearBoxExample](./pictures/GearBoxExample.svg)
+
+# Gear Box
+![MetaGearBoxExample](./pictures/MetaGearBoxExample.svg)
+
+# Synchronized Queue
+![GearBoxExample](./pictures/synchronizedQueueSender.svg)
+
+# Synchronized Queue
+![GearBoxExample](./pictures/synchronizedQueueReceiver.svg)
+
+# Synchronized Queue
+- Meta Sender, Meta Reciverでsynchronizedを表現する
+- つまり, Meta Sender, Reciverの動作で通常のQueueとSynchronized Queueを入れ替える事ができる
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_05_19/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,42 @@
+title: Monadに基づくMeta計算を基本とするGears OSの設計
+author: Tatsuki IHA
+profile:
+lang: Japanese
+
+# 研究目的
+- 当研究室では, プログラムをコードセグメント, データセグメントを用いた並列フレームワークの開発を行っている.
+- Gears OSでは, 並列実行に必要なMetaな機能を関数型言語におけるMonadの原理に基づいて実現する.
+- また, Code Segment, Data SegmentそれぞれにMeta Code Segment, Meta Data Segmentを付属させる.
+- この研究ではGears OSの機能をCbC(Continuation based C)で実装、評価することを目的とする.
+
+# Gear Box
+- 基本はState Diagramで記述
+- State DiagramのStateをCode Gear(Code Segment)
+- Code Gear間にData Gear(Data Segment)を記述
+
+# Gear Box
+![GearBoxExample](./pictures/GearBoxExample.svg)
+
+# Gear Box
+![MetaGearBoxExample](./pictures/MetaGearBoxExample.svg)
+
+# Synchronized Queue
+![GearBoxExample](./pictures/synchronizedQueueSender.svg)
+
+# Synchronized Queue
+![GearBoxExample](./pictures/synchronizedQueueReceiver.svg)
+
+# Synchronized Queue
+- 各Threadに共通のData Gearをもたせる
+- Meta Code Segmentでsynchronizedを表現する
+- つまり, Meta Code Segmentを書き換えることで実装を変更できる
+
+# Synchronized Queue
+- CASでの実装
+    - Meta Put, Meta GetでCasを行い, Data Gearを更新
+- pthread_mutex_lockでの実装
+    - Meta Sender, Meta ReciverでData Gearをlock
+    - Meta Put, Meta Getでunlock
+- Semphoreでの実装
+    - 読み込み用, 書き込み用のSemphoreを用意
+    - Meta Put, Meta Getでsem_p, sem_vを行う
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_05_25/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,50 @@
+title: Monadに基づくMeta計算を基本とするGears OSの設計
+author: Tatsuki IHA
+profile:
+lang: Japanese
+code-engine: coderay
+
+# 研究目的
+- 当研究室では, プログラムをコードセグメント, データセグメントを用いた並列フレームワークの開発を行っている.
+- Gears OSでは, 並列実行に必要なMetaな機能を関数型言語におけるMonadの原理に基づいて実現する.
+- また, Code Segment, Data SegmentそれぞれにMeta Code Segment, Meta Data Segmentを付属させる.
+- この研究ではGears OSの機能をCbC(Continuation based C)で実装、評価することを目的とする.
+
+# Gear Box
+- 基本はState Diagramで記述
+- State DiagramのStateをCode Gear(Code Segment)
+- Code Gear間にData Gear(Data Segment)を記述
+
+# Gear Box
+![GearBoxExample](./pictures/GearBoxExample.svg)
+
+# Gear Box
+![MetaGearBoxExample](./pictures/MetaGearBoxExample.svg)
+
+# Synchronized Queue
+![GearBoxExample](./pictures/synchronizedQueueSender.svg)
+
+# Synchronized Queue
+![GearBoxExample](./pictures/synchronizedQueueReceiver.svg)
+
+# Synchronized Queue
+- 各Threadに共通のData Gearをもたせる
+- Meta Code Segmentでsynchronizedを表現する
+- つまり, Meta Code Segmentを書き換えることで実装を変更できる
+
+# Synchronized Queue
+- CASでの実装
+    - Meta Put, Meta GetでCasを行い, Data Gearを更新
+- pthread_mutex_lockでの実装
+    - Meta Sender, Meta ReciverでData Gearをlock
+    - Meta Put, Meta Getでunlock
+- Semphoreでの実装
+    - 読み込み用, 書き込み用のSemphoreを用意
+    - Meta Put, Meta Getでsem_p, sem_vを行う
+
+# hoge
+<% coderay do %>
+def hello
+  puts "hoge"
+end
+<% end %>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_06_02/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,16 @@
+title: Monadに基づくMeta計算を基本とするGears OSの設計
+author: Tatsuki IHA
+profile:
+lang: Japanese
+code-engine: coderay
+
+# 研究目的
+- 当研究室では, プログラムをコードセグメント, データセグメントを用いた並列フレームワークの開発を行っている.
+- Gears OSでは, 並列実行に必要なMetaな機能を関数型言語におけるMonadの原理に基づいて実現する.
+- また, Code Segment, Data SegmentそれぞれにMeta Code Segment, Meta Data Segmentを付属させる.
+- このOS上でAlice, Cerium, Jungle
+- この研究ではGears OSの機能をCbC(Continuation based C)で実装、評価することを目的とする.
+
+# Synchronized Queue
+- casのコードにwhile & countを追加
+- pthreadのコードにcond_wait, cond_signalを追加
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_06_09/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,48 @@
+title: Monadに基づくMeta計算を基本とするGears OSの設計
+author: Tatsuki IHA
+profile:
+lang: Japanese
+code-engine: coderay
+
+# 研究目的
+- 当研究室では, プログラムをコードセグメント, データセグメントを用いた並列フレームワークの開発を行っている.
+- Gears OSでは, 並列実行に必要なMetaな機能を関数型言語におけるMonadの原理に基づいて実現する.
+- また, Code Segment, Data SegmentそれぞれにMeta Code Segment, Meta Data Segmentを付属させ,Many CoreやGPGPU環境でも信頼性の高い並列処理を実現する.
+- この研究ではGears OSの機能をCbC(Continuation based C)で実装、評価することを目的とする.
+
+# data segmentを参照するsyntax
+
+```
+__code code1(struct Context* context, enum Code next) {
+    context->data[Allocate]->allocate.size = .....;
+}
+```
+
+# data segmentを参照するsyntax
+```
+__code code1(struct Context* context, enum Code next) {
+    union Data *ds1;
+    ds1                = get_data_segment(context, Allocate);
+    ds1->allocate.size = .....;
+}
+
+union Data* get_data_segment(struct Context* context, int key) {
+    return context->data[key];
+}
+```
+
+# data segmentを参照するsyntax
+```
+__code code1(struct Allocate allocate) {
+    allocate.size = .....;
+}
+```
+
+# Cerium on Gears
+
+
+<style scoped>
+    pre {
+        font-size: 20px;
+    }
+</style>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_06_16/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,52 @@
+title: Monadに基づくMeta計算を基本とするGears OSの設計
+author: Tatsuki IHA
+profile:
+lang: Japanese
+code-engine: coderay
+
+# 研究目的
+- 当研究室では, プログラムをコードセグメント, データセグメントを用いた並列フレームワークの開発を行っている.
+- Gears OSでは, 並列実行に必要なMetaな機能を関数型言語におけるMonadの原理に基づいて実現する.
+- また, Code Segment, Data SegmentそれぞれにMeta Code Segment, Meta Data Segmentを付属させ,Many CoreやGPGPU環境でも信頼性の高い並列処理を実現する.
+- この研究ではGears OSの機能をCbC(Continuation based C)で実装、評価することを目的とする.
+
+
+# 近況
+- Data SegmentへのアクセスのsyntaxをList, Synchronized Queueに適応
+
+# 従来のDSへのアクセス
+- contextからDataの配列にアクセスする
+
+# 従来のDSへのアクセス
+```
+__code code1(struct Context* context) {
+    context->data[Allocate]->allocate.size = .....;
+    context->data[Allocate]->allocate.next = .....;
+    goto meta(context, Allocator);
+}
+```
+
+# stubを経由したDSへのアクセス
+- Code Segmentは必要なDSを引数として取る
+- 全てのCSに対してstubを用意し, 必要なDSをstubで指定してCSを呼ぶ
+- stubは現在は直接書いているが, Compile時に生成されて欲しい
+
+# stubを経由したDSへのアクセス
+```
+__code code1(struct Context* context, struct Allocate* allocate) {
+    allocate->size = .....;
+    allocate->next = .....;
+    goto meta(context, Allocator);
+}
+__code code1_stub(struct Context* context) {
+    goto code1(context, &context->data[Allocate]->allocate);
+}
+```
+
+
+
+<style scoped>
+    pre {
+        font-size: 20px;
+    }
+</style>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_06_30/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,54 @@
+title: Monadに基づくMeta計算を基本とするGears OSの設計
+author: Tatsuki IHA
+profile:
+lang: Japanese
+code-engine: coderay
+
+# 研究目的
+- 当研究室では, プログラムをコードセグメント, データセグメントを用いた並列フレームワークの開発を行っている.
+- Gears OSでは, 並列実行に必要なMetaな機能を関数型言語におけるMonadの原理に基づいて実現する.
+- また, Code Segment, Data SegmentそれぞれにMeta Code Segment, Meta Data Segmentを付属させ,Many CoreやGPGPU環境でも信頼性の高い並列処理を実現する.
+- この研究ではGears OSの機能をCbC(Continuation based C)で実装、評価することを目的とする.
+
+
+# 近況
+- GearsによるCeriumの実装
+    - あんまり進んでないです
+
+# 動かしたい例題
+- temporaryなDS同士の計算
+- 最初はInt型の足し算などをscheduleringして演算をする
+
+# TaskManager
+
+# Create Task
+- 新しいcontextを作成してinputのQueueにいれる
+
+```
+__code code1(Context *context) {
+    goto create_task();
+}
+
+__code create_task(Context *context) {
+    init_context(context);
+    goto put(context);
+}
+```
+
+# scheduler 
+- 他のDSを用意している間に他のDSを実行する
+- taskのpoolからschedulerがtaskをとる
+    - schedulerが待ちtaskを取り合う
+
+# set input
+- 
+
+# set output
+
+
+# wait for
+<style scoped>
+    pre {
+        font-size: 20px;
+    }
+</style>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_07_14/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,24 @@
+title: Monadに基づくMeta計算を基本とするGears OSの設計
+author: Tatsuki IHA
+profile:
+lang: Japanese
+code-engine: coderay
+
+# 研究目的
+- 当研究室では, プログラムをコードセグメント, データセグメントを用いた並列フレームワークの開発を行っている.
+- Gears OSでは, 並列実行に必要なMetaな機能を関数型言語におけるMonadの原理に基づいて実現する.
+- また, Code Segment, Data SegmentそれぞれにMeta Code Segment, Meta Data Segmentを付属させ,Many CoreやGPGPU環境でも信頼性の高い並列処理を実現する.
+- この研究ではGears OSの機能をCbC(Continuation based C)で実装、評価することを目的とする.
+
+
+# 近況
+- synchronized QueueのCASのwhileループをgotoに変更
+- 院試の勉強してました。
+
+# 
+
+<style scoped>
+    pre {
+        font-size: 20px;
+    }
+</style>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_07_21/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,55 @@
+title: OSC & OCの話
+author: Tatsuki IHA
+profile:
+lang: Japanese
+code-engine: coderay
+
+# 近況
+- 院試の勉強してました。
+- オープンキャンパス行きました
+
+# OSC
+- 僕は徳森さんを空港に送ったため,午後からの参加
+- まささんの講話はみれませんでした。
+
+# 聴いた講話
+- GFS2やKVM、さくらクラウドを用いた琉球大学情報工学科次期システムの設計について
+- MySQL 5.7 RC登場!MySQL最新開発ロードマップ
+
+# シス管
+- 人は結構いました(15 〜 20人, ieのOBが多い感じでした)
+- 過去のシステムの話
+- GFS2の苦労話
+- 貸出VMの話
+- さくらの話は少し
+
+# もらった物
+![](./pictures/osc.jpg)
+
+# もらったもの
+- オライリーのノート
+- Tシャツ
+- Hinemos統合管理[実践]入門
+
+# OC
+- 基本的に406にいました
+- 午前は20名 * 8 グループくらい
+- 午後は4,5名 * 8グループくらい
+- 出し物はleap motionを使用した指揮者ゲーム, ボールころがし, Oculus
+- 高校生にはOculusが、学生にはボールころがしが人気だったようです
+
+# OCの反省
+- 会場設置が18時まで全然されてなかった
+
+# 写真は?
+- 取るの忘れました
+
+<style scoped>
+    pre {
+        font-size: 20px;
+    }
+
+    img {
+        height: 400px;
+    }
+</style>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_07_28/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,48 @@
+title: SML#
+author: Tatsuki IHA
+profile:
+lang: Japanese
+code-engine: coderay
+
+# 研究目的
+- 当研究室では, プログラムをコードセグメント, データセグメントを用いた並列フレームワークの開発を行っている.
+- Gears OSでは, 並列実行に必要なMetaな機能を関数型言語におけるMonadの原理に基づいて実現する.
+- また, Code Segment, Data SegmentそれぞれにMeta Code Segment, Meta Data Segmentを付属させ,Many CoreやGPGPU環境でも信頼性の高い並列処理を実現する.
+- この研究ではGears OSの機能をCbC(Continuation based C)で実装、評価することを目的とする.
+
+
+# 近況
+- 院試おわりました
+- SML# のコンパイルをしました
+
+# SML#
+- とりあえず, 自分のMBPでコンパイル
+- 必要だったもの
+    - LLVM 3.4
+    - GMP library
+
+# ハマった所
+- SML# のコンパイラは最新版ではまだ64bitのArchitecture向けコードを出力しない(近い将来行う予定とのこと)
+- なのでLLVM 3.4とCMPライブラリは32bit版でcompileしないといけない
+
+# SML# のコンパイル
+- SML#のlex, yacc, SMLFormat, プリンタ自動生成ツール, 基本LibraryはSML#で書かれている
+- SML# のコンパイルの際はSML#をコンパイルするのに十分なSML#コンパイラ(minismlsharp)を使ってコンパイル
+- minismlsharpは古いSML#コンパイラで事前にコンパイルしており, LLVM IR形式でソースツリーに用意されている.
+
+# SML# のコンパイル
+- 実際のコードがSML#で書かれてるのでlldbで追えない
+    - SML#のデバッガは、、、、
+- ランタイムライブラリはCで書かれてるのでそこは追える
+
+# SML#のコード量
+- SML#で書かれたコード
+    - 174664行
+- CのランタイムLibrary
+    - 21920行
+
+<style scoped>
+    pre {
+        font-size: 20px;
+    }
+</style>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2015/2015_08_04/slide.md	Tue Aug 04 18:12:46 2015 +0900
@@ -0,0 +1,23 @@
+title: SML#
+author: Tatsuki IHA
+profile:
+lang: Japanese
+code-engine: coderay
+
+# 研究目的
+- 当研究室では, プログラムをコードセグメント, データセグメントを用いた並列フレームワークの開発を行っている.
+- Gears OSでは, 並列実行に必要なMetaな機能を関数型言語におけるMonadの原理に基づいて実現する.
+- また, Code Segment, Data SegmentそれぞれにMeta Code Segment, Meta Data Segmentを付属させ,Many CoreやGPGPU環境でも信頼性の高い並列処理を実現する.
+- この研究ではGears OSの機能をCbC(Continuation based C)で実装、評価することを目的とする.
+
+
+# 近況
+- SML#fireflyにインストールしました
+- wikiにSML#とbrewでのCbCのインストール方法を記述しました
+
+
+<style scoped>
+    pre {
+        font-size: 20px;
+    }
+</style>