Mercurial > hg > Members > innparusu > slides
diff 2015_05_19/slide.html @ 0:47676a16ed13
Add Slides
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 14 Jul 2015 17:23:04 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/2015_05_19/slide.html Tue Jul 14 17:23:04 2015 +0900 @@ -0,0 +1,183 @@ +<!DOCTYPE HTML> + +<html lang="Japanese"> +<head> + <title>Monadに基づくMeta計算を基本とするGears OSの設計</title> + <meta charset="UTF-8"> + <meta name="viewport" content="width=1274, user-scalable=no"> + <meta name="generator" content="Slide Show (S9)"> + <meta name="author" content="Tatsuki IHA"> + <link rel="stylesheet" href="themes/ribbon/styles/style.css"> +</head> +<body class="list"> + <header class="caption"> + <h1>Monadに基づくMeta計算を基本とするGears OSの設計</h1> + <p>Tatsuki IHA</p> + </header> + <div class="slide cover" id="Cover"><div> + <section> + <header> + <h2>Monadに基づくMeta計算を基本とするGears OSの設計</h2> + <h3 id="author">Tatsuki IHA</h3> + <h3 id="profile"></h3> + </header> + </section> + </div></div> + +<!-- todo: add slide.classes to div --> +<!-- todo: create slide id from header? like a slug in blogs? --> + +<div class="slide" id="2"><div> + <section> + <header> + <h1 id="section">研究目的</h1> + </header> + <!-- === begin markdown block === + + generated by markdown/1.2.0 on Ruby 2.2.2 (2015-04-13) [x86_64-darwin14] + on 2015-05-19 17:52:17 +0900 with Markdown engine kramdown (1.6.0) + using options {} + --> + +<!-- _S9SLIDE_ --> + +<ul> + <li>当研究室では, プログラムをコードセグメント, データセグメントを用いた並列フレームワークの開発を行っている.</li> + <li>Gears OSでは, 並列実行に必要なMetaな機能を関数型言語におけるMonadの原理に基づいて実現する.</li> + <li>また, Code Segment, Data SegmentそれぞれにMeta Code Segment, Meta Data Segmentを付属させる.</li> + <li>この研究ではGears OSの機能をCbC(Continuation based C)で実装、評価することを目的とする.</li> +</ul> + + + + </section> +</div></div> + +<div class="slide" id="3"><div> + <section> + <header> + <h1 id="gear-box">Gear Box</h1> + </header> + <!-- _S9SLIDE_ --> + +<ul> + <li>基本はState Diagramで記述</li> + <li>State DiagramのStateをCode Gear(Code Segment)</li> + <li>Code Gear間にData Gear(Data Segment)を記述</li> +</ul> + + + + </section> +</div></div> + +<div class="slide" id="4"><div> + <section> + <header> + <h1 id="gear-box-1">Gear Box</h1> + </header> + <!-- _S9SLIDE_ --> + +<p><img src="./pictures/GearBoxExample.svg" alt="GearBoxExample" /></p> + + + + </section> +</div></div> + +<div class="slide" id="5"><div> + <section> + <header> + <h1 id="gear-box-2">Gear Box</h1> + </header> + <!-- _S9SLIDE_ --> + +<p><img src="./pictures/MetaGearBoxExample.svg" alt="MetaGearBoxExample" /></p> + + + + </section> +</div></div> + +<div class="slide" id="6"><div> + <section> + <header> + <h1 id="synchronized-queue">Synchronized Queue</h1> + </header> + <!-- _S9SLIDE_ --> + +<p><img src="./pictures/synchronizedQueueSender.svg" alt="GearBoxExample" /></p> + + + + </section> +</div></div> + +<div class="slide" id="7"><div> + <section> + <header> + <h1 id="synchronized-queue-1">Synchronized Queue</h1> + </header> + <!-- _S9SLIDE_ --> + +<p><img src="./pictures/synchronizedQueueReceiver.svg" alt="GearBoxExample" /></p> + + + + </section> +</div></div> + +<div class="slide" id="8"><div> + <section> + <header> + <h1 id="synchronized-queue-2">Synchronized Queue</h1> + </header> + <!-- _S9SLIDE_ --> + +<ul> + <li>各Threadに共通のData Gearをもたせる</li> + <li>Meta Code Segmentでsynchronizedを表現する</li> + <li>つまり, Meta Code Segmentを書き換えることで実装を変更できる</li> +</ul> + + + + </section> +</div></div> + +<div class="slide" id="9"><div> + <section> + <header> + <h1 id="synchronized-queue-3">Synchronized Queue</h1> + </header> + <!-- _S9SLIDE_ --> + +<ul> + <li>CASでの実装 + <ul> + <li>Meta Put, Meta GetでCasを行い, Data Gearを更新</li> + </ul> + </li> + <li>pthread_mutex_lockでの実装 + <ul> + <li>Meta Sender, Meta ReciverでData Gearをlock</li> + <li>Meta Put, Meta Getでunlock</li> + </ul> + </li> + <li>Semphoreでの実装 + <ul> + <li>読み込み用, 書き込み用のSemphoreを用意</li> + <li>Meta Put, Meta Getでsem_p, sem_vを行う</li> + </ul> + </li> +</ul> +<!-- === end markdown block === --> + + </section> +</div></div> + + + <script src="scripts/script.js"></script> + <!-- Copyright © 2010–2011 Vadim Makeev, http://pepelsbey.net/ --> +</body> +</html>