comparison 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
comparison
equal deleted inserted replaced
-1:000000000000 0:47676a16ed13
1 <!DOCTYPE HTML>
2
3 <html lang="Japanese">
4 <head>
5 <title>Monadに基づくMeta計算を基本とするGears OSの設計</title>
6 <meta charset="UTF-8">
7 <meta name="viewport" content="width=1274, user-scalable=no">
8 <meta name="generator" content="Slide Show (S9)">
9 <meta name="author" content="Tatsuki IHA">
10 <link rel="stylesheet" href="themes/ribbon/styles/style.css">
11 </head>
12 <body class="list">
13 <header class="caption">
14 <h1>Monadに基づくMeta計算を基本とするGears OSの設計</h1>
15 <p>Tatsuki IHA</p>
16 </header>
17 <div class="slide cover" id="Cover"><div>
18 <section>
19 <header>
20 <h2>Monadに基づくMeta計算を基本とするGears OSの設計</h2>
21 <h3 id="author">Tatsuki IHA</h3>
22 <h3 id="profile"></h3>
23 </header>
24 </section>
25 </div></div>
26
27 <!-- todo: add slide.classes to div -->
28 <!-- todo: create slide id from header? like a slug in blogs? -->
29
30 <div class="slide" id="2"><div>
31 <section>
32 <header>
33 <h1 id="section">研究目的</h1>
34 </header>
35 <!-- === begin markdown block ===
36
37 generated by markdown/1.2.0 on Ruby 2.2.2 (2015-04-13) [x86_64-darwin14]
38 on 2015-05-19 17:52:17 +0900 with Markdown engine kramdown (1.6.0)
39 using options {}
40 -->
41
42 <!-- _S9SLIDE_ -->
43
44 <ul>
45 <li>当研究室では, プログラムをコードセグメント, データセグメントを用いた並列フレームワークの開発を行っている.</li>
46 <li>Gears OSでは, 並列実行に必要なMetaな機能を関数型言語におけるMonadの原理に基づいて実現する.</li>
47 <li>また, Code Segment, Data SegmentそれぞれにMeta Code Segment, Meta Data Segmentを付属させる.</li>
48 <li>この研究ではGears OSの機能をCbC(Continuation based C)で実装、評価することを目的とする.</li>
49 </ul>
50
51
52
53 </section>
54 </div></div>
55
56 <div class="slide" id="3"><div>
57 <section>
58 <header>
59 <h1 id="gear-box">Gear Box</h1>
60 </header>
61 <!-- _S9SLIDE_ -->
62
63 <ul>
64 <li>基本はState Diagramで記述</li>
65 <li>State DiagramのStateをCode Gear(Code Segment)</li>
66 <li>Code Gear間にData Gear(Data Segment)を記述</li>
67 </ul>
68
69
70
71 </section>
72 </div></div>
73
74 <div class="slide" id="4"><div>
75 <section>
76 <header>
77 <h1 id="gear-box-1">Gear Box</h1>
78 </header>
79 <!-- _S9SLIDE_ -->
80
81 <p><img src="./pictures/GearBoxExample.svg" alt="GearBoxExample" /></p>
82
83
84
85 </section>
86 </div></div>
87
88 <div class="slide" id="5"><div>
89 <section>
90 <header>
91 <h1 id="gear-box-2">Gear Box</h1>
92 </header>
93 <!-- _S9SLIDE_ -->
94
95 <p><img src="./pictures/MetaGearBoxExample.svg" alt="MetaGearBoxExample" /></p>
96
97
98
99 </section>
100 </div></div>
101
102 <div class="slide" id="6"><div>
103 <section>
104 <header>
105 <h1 id="synchronized-queue">Synchronized Queue</h1>
106 </header>
107 <!-- _S9SLIDE_ -->
108
109 <p><img src="./pictures/synchronizedQueueSender.svg" alt="GearBoxExample" /></p>
110
111
112
113 </section>
114 </div></div>
115
116 <div class="slide" id="7"><div>
117 <section>
118 <header>
119 <h1 id="synchronized-queue-1">Synchronized Queue</h1>
120 </header>
121 <!-- _S9SLIDE_ -->
122
123 <p><img src="./pictures/synchronizedQueueReceiver.svg" alt="GearBoxExample" /></p>
124
125
126
127 </section>
128 </div></div>
129
130 <div class="slide" id="8"><div>
131 <section>
132 <header>
133 <h1 id="synchronized-queue-2">Synchronized Queue</h1>
134 </header>
135 <!-- _S9SLIDE_ -->
136
137 <ul>
138 <li>各Threadに共通のData Gearをもたせる</li>
139 <li>Meta Code Segmentでsynchronizedを表現する</li>
140 <li>つまり, Meta Code Segmentを書き換えることで実装を変更できる</li>
141 </ul>
142
143
144
145 </section>
146 </div></div>
147
148 <div class="slide" id="9"><div>
149 <section>
150 <header>
151 <h1 id="synchronized-queue-3">Synchronized Queue</h1>
152 </header>
153 <!-- _S9SLIDE_ -->
154
155 <ul>
156 <li>CASでの実装
157 <ul>
158 <li>Meta Put, Meta GetでCasを行い, Data Gearを更新</li>
159 </ul>
160 </li>
161 <li>pthread_mutex_lockでの実装
162 <ul>
163 <li>Meta Sender, Meta ReciverでData Gearをlock</li>
164 <li>Meta Put, Meta Getでunlock</li>
165 </ul>
166 </li>
167 <li>Semphoreでの実装
168 <ul>
169 <li>読み込み用, 書き込み用のSemphoreを用意</li>
170 <li>Meta Put, Meta Getでsem_p, sem_vを行う</li>
171 </ul>
172 </li>
173 </ul>
174 <!-- === end markdown block === -->
175
176 </section>
177 </div></div>
178
179
180 <script src="scripts/script.js"></script>
181 <!-- Copyright © 2010–2011 Vadim Makeev, http://pepelsbey.net/ -->
182 </body>
183 </html>