Mercurial > hg > Members > innparusu > slides
view 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 source
<!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>