Mercurial > hg > Papers > 2013 > sugi-sigos
changeset 11:57b1c4692d21
minor change
author | sugi |
---|---|
date | Wed, 24 Apr 2013 13:34:58 +0900 |
parents | 5c57e35e19b6 |
children | 85b22f56ef00 |
files | presen/index.html presen/theme/css/default.css |
diffstat | 2 files changed, 158 insertions(+), 156 deletions(-) [+] |
line wrap: on
line diff
--- a/presen/index.html Tue Apr 23 23:31:26 2013 +0900 +++ b/presen/index.html Wed Apr 24 13:34:58 2013 +0900 @@ -55,7 +55,38 @@ <slide> <hgroup> - <h2>Code Segment</h2> + <h2>分散ネットフレームワーク Alice</h2> + </hgroup> + <article> + <ul> + <li>本研究室で開発を行なっている分散管理フレームワーク</li> + <li>Data SegmentとCodeSegmentによりプログラムを記述する</li> + <li>並列フレームワーク Ceriumに似たタスク管理機構と先行研究であるFederated Lindaに似たData Segmentの通信構造をもつ</li> + <li>メニーコアのマシンが主流である背景からSEDA Architectureが採用している</li> + </ul> + </article> + </slide> + + <slide> + <hgroup> + <h2>Data Segment</h2> + </hgroup> + <article> + <p>Data Segmentは数値や文字列を構造体的に保持する。<br> + Aliceではデータベース的に扱うが、通常とは異なりKey毎にQueueを持つ<br> + 以下のAPIでデータの送受信を行う</p> + <ul> + <li>put</li> + <li>update</li> + <li>peek</li> + <li>take</li> + </ul> + </article> + </slide> + + <slide> + <hgroup> + <h2>put</h2> </hgroup> <article> <ul> @@ -65,15 +96,50 @@ <slide> <hgroup> - <h2>Data Segment</h2> + <h2>update</h2> + </hgroup> + <article> + <ul> + </ul> + </article> + </slide> + + <slide> + <hgroup> + <h2>peek</h2> </hgroup> <article> - <p>DataSegmentはデータを細かくしたものであり、以下のAPIで操作を行う</p> + <ul> + </ul> + </article> + </slide> + + <slide> + <hgroup> + <h2>take</h2> + </hgroup> + <article> + <ul> + </ul> </article> </slide> <slide> <hgroup> + <h2>Code Segment</h2> + </hgroup> + <article> + <ul> + <li>AliceではCode Segmentと呼ばれる単位でタスクを生成する</li> + <li>Code Segmentは依存するData Segmentが全て揃うとActiveになる</li> + <li>Input/Output Data SegmentがCode Segment間の依存関係を自動的に記述する</li> + </ul> + </article> + </slide> + + + <slide> + <hgroup> <h2>実行速度の問題</h2> </hgroup> <article> @@ -159,13 +225,15 @@ <h2>LinkedBlockingQueue</h2> </hgroup> <article> - <p>今回、SEDA Architectureを実装するにあたりJavaのLinkedBlockingQueueを使用している。</p> -特徴として + <p>SEDA Architectureを実装するにあたり、LinkedBlockingQueueを使用している。</p> + 特徴として <ul> <li>LinkedBlockingQueueは片方向の連結リストを使用したQueue</li> <li>enqueue/dequeueの操作時は排他制御は別々のlockで管理</li> <li>enqueueとdequeueの操作を並列に行うことが可能(スループットに優れている)</li> </ul> + ただし、enqueue時にNodeオブジェクトの生成操作が発生するため、<br> + enqueue操作の処理コストが特に高い。 </article> </slide> @@ -179,9 +247,6 @@ Output Data Segmentとして出力される。<br> この際、変更されたDataSegmentをコピーし、新しくDataSegmentを作成する。<br> このコピーにかかる時間がオーバーヘッドとなっている。 - <ul> - <li></li> - </ul> </article> </slide> @@ -201,200 +266,137 @@ Sortのようなにレスポンスが必要なプログラムのために、SEDAのステージ上ではなく、 直接DataSegmentを取得するAPIを用意する <p></p> + </ul> + </article> + </slide> + + <slide> + <hgroup> + <h2>問題に対する改善案</h2> + </hgroup> + <article> + <ul> <li>Output Data Segment作成時におけるコピー</li> - Data SegmentはCode Segment内ではReceiverという変数が保持している。 - + Ceriumでも同様なコピーの問題があり、Input Data SegmentとOutput Data Segmentを + Swapすることで解決している。Aliceでも同様の方法で解決する。<br> + Data SegmentはCode Segment内ではReceiverという変数が保持している。<br> + このReceiverをOutput Data Segmentにすることで無駄なコピーを減らす。 </ul> </article> </slide> <slide> <hgroup> - <h2>Slide with Image (Centered horz/vert)</h2> + <h2>検証</h2> </hgroup> - <article class="flexbox vcenter"> - <img src="images/barchart.png" alt="Description" title="Description"> - <footer class="source">source: place source info here</footer> - </article> - </slide> - - <slide> - <hgroup> - <h2>Table Option A</h2> - <h3>Subtitle Placeholder</h3> - </hgroup> + <article> + <h3>実験環境</h3> <table> <tr> - <th></th><th>Column 1</th><th>Column 2</th><th>Column 3</th><th>Column 4</th> - </tr> - <tr> - <td>Row 1</td><td>placeholder</td><td class="highlight">placeholder</td><td>placeholder</td><td>placeholder</td> - </tr> - <tr> - <td>Row 2</td><td>placeholder</td><td>placeholder</td><td>placeholder</td><td>placeholder</td> - </tr> - <tr> - <td>Row 3</td><td>placeholder</td><td>placeholder</td><td>placeholder</td><td>placeholder</td> - </tr> - <tr> - <td>Row 4</td><td>placeholder</td><td>placeholder</td><td>placeholder</td><td>placeholder</td> + <td>CPU</td><td>Intel(R) Xeon(R) X5650 @2.67GHz</td> </tr> <tr> - <td>Row 5</td><td>placeholder</td><td>placeholder</td><td>placeholder</td><td>placeholder</td> + <td>物理コア数</td><td>12</td> + </tr> + <tr> + <td>論理コア数</td><td>24</td> + </tr> + <tr> + <td>CPU キャッシュ</td><td>12MB</td> + </tr> + <tr> + <td>Memory</td><td>16GB</td> </tr> </table> - </article> - </slide> - - <slide> - <hgroup> - <h2>Table Option A (Smaller Text)</h2> - <h3>Subtitle Placeholder</h3> - </hgroup> - <article class="smaller"> - <table> - <tr> - <th></th><th>Column 1</th><th>Column 2</th><th>Column 3</th><th>Column 4</th> - </tr> - <tr> - <td>Row 1</td><td>placeholder</td><td class="highlight">placeholder</td><td>placeholder</td><td>placeholder</td> - </tr> - <tr> - <td>Row 2</td><td>placeholder</td><td>placeholder</td><td>placeholder</td><td>placeholder</td> - </tr> - <tr> - <td>Row 3</td><td>placeholder</td><td>placeholder</td><td>placeholder</td><td>placeholder</td> - </tr> - <tr> - <td>Row 4</td><td>placeholder</td><td>placeholder</td><td>placeholder</td><td>placeholder</td> - </tr> - <tr> - <td>Row 5</td><td>placeholder</td><td>placeholder</td><td>placeholder</td><td>placeholder</td> - </tr> - </table> + <p></p> + SEDAを活かせるようにメニコア上でテストを行なった。 </article> </slide> <slide> <hgroup> - <h2>Table Option B</h2> - <h3>Subtitle Placeholder</h3> + <h2>実験概要</h2> </hgroup> <article> - <table class="rows"> + <p>今回行った改善による効果を調べるために3つの実験を行った。</p> + <ul> + <li>SEDAの有無</li> + <p>Data Segmentを取得するCode Segmentが10000回実行されるまでの時間を測定</p> + <li>flipとputの比較</li> + <p>既存のAPIの<em>put</em>と新しく追加したAPIである<em>flip</em>をつかい10000回、Data Segmentを追加されるまでの時間を測定</p> + <li>Bitonic Sortによる比較</li> + <p>今回行った改善(ただし、MessagePackによる改善を除く) + Bitonic Sortで100万の要素をSortされるまでの時間を測定する。分割数は10個で行った</p> + </ul> + </article> + </slide> + + + <slide> + <hgroup> + <h2>実験結果</h2> + </hgroup> + <article> + <p>実験結果は100回行った平均である</p> + <ul> + <table> <tr> - <th>Header 1</th><td>placeholder</td><td class="highlight">placeholder</td><td>placeholder</td> + <th>SEDA</th><th>あり</th><th>なし</th> </tr> <tr> - <th>Header 2</th><td>placeholder</td><td>placeholder</td><td>placeholder</td> + <td>実行時間(ms)</td><td>27.72</td><td>7.53</td> </tr> + </table> + </ul> + <ul> + <table> <tr> - <th>Header 3</th><td>placeholder</td><td>placeholder</td><td>placeholder</td> + <th>API</th><th>flip</th><th>put</th> </tr> <tr> - <th>Header 4</th><td>placeholder</td><td>placeholder</td><td>placeholder</td> + <td>実行時間(ms)</td><td>61.12</td><td>65.24</td> + </tr> + </table> + </ul> + <ul> + <table> + <tr> + <th></th><th>改善前</th><th>改善後</th> </tr> <tr> - <th>Header 5</th><td>placeholder</td><td>placeholder</td><td>placeholder</td> + <td>実行時間(ms)</td><td>199.38</td><td>184.64</td> </tr> </table> + Bitonic Sortの例題では約10%程度改善された + </ul> </article> </slide> <slide> <hgroup> - <h2>Slide Styles</h2> + <h2>まとめ</h2> </hgroup> - <article class="smaller"> - <div class="columns-2"> - <ul> - <li class="red">class="red"</li> - <li class="red2">class="red2"</li> - <li class="red3">class="red3"</li> - <li class="blue">class="blue"</li> - <li class="blue2">class="blue2"</li> - <li class="blue3">class="blue3"</li> - <li class="green">class="green"</li> - <li class="green2">class="green2"</li> - </ul> - <ul> - <li class="green3">class="green3"</li> - <li class="yellow">class="yellow"</li> - <li class="yellow2">class="yellow2"</li> - <li class="yellow3">class="yellow3"</li> - <li class="gray">class="gray"</li> - <li class="gray2">class="gray2"</li> - <li class="gray3">class="gray3"</li> - <li class="gray4">class="gray4"</li> - </ul> - </div> - <div class="centered" style="margin-top:2em"> - I am centered text with a <button>Button</button> and <button disabled>Disabled</button> button. - </div> - </article> - </slide> - - <slide class="segue dark nobackground"> - <aside class="gdbar"><img src="images/google_developers_icon_128.png"></aside> - <hgroup class="auto-fadein"> - <h2>Segue Slide</h2> - <h3>Subtitle Placeholder</h3> - </hgroup> - </slide> - - <slide class="fill nobackground" style="background-image: url(images/sky.jpg)"> - <hgroup> - <h2 class="white">Full Image (with Optional Header)</h2> - </hgroup> - <footer class="source white">www.flickr.com/photos/25797459@N06/5438799763/</footer> - </slide> - - <slide class="segue dark quote nobackground"> - <aside class="gdbar right bottom"><img src="images/google_developers_icon_128.png"></aside> - <article class="flexbox vleft auto-fadein"> - <q> - This is an example of quote text. - </q> - <div class="author"> - Name<br> - Company - </div> + <article> + <ul> + <li>今回行った改善により、以前のAliceよりも約10%程度速度が改善した</li> + <li>しかし、Aliceに要求される速度は、少なくともシングルスレッドで書かれたプログラムと同じ程度</li> + <li>分散環境下ではFederated Linda以上の速度が求められる</li> + <li>また、Aliceが抱える問題は速度だけではない</li> + <li>信頼性の問題や永続性の問題についても改善をしなければならない</li> + </ul> </article> </slide> <slide> <hgroup> - <h2>Slide with Iframe</h2> + <h2>Message Packの型変換にかかる時間</h2> </hgroup> <article> - <iframe data-src="http://www.google.com/doodle4google/history.html"></iframe> - </article> - </slide> - - <slide> - <article> - <iframe data-src="http://www.google.com/doodle4google/history.html"></iframe> + <ul> + </ul> </article> </slide> - - <slide class="thank-you-slide segue nobackground"> - <aside class="gdbar right"><img src="images/google_developers_icon_128.png"></aside> - <article class="flexbox vleft auto-fadein"> - <h2><Thank You!></h2> - <p>Important contact information goes here.</p> - </article> - <p class="auto-fadein" data-config-contact> - <!-- populated from slide_config.json --> - </p> - </slide> - - <slide class="logoslide dark nobackground"> - <article class="flexbox vcenter"> - <span><img src="images/google_developers_logo_white.png"></span> - </article> - </slide> - <slide class="backdrop"></slide> </slides>
--- a/presen/theme/css/default.css Tue Apr 23 23:31:26 2013 +0900 +++ b/presen/theme/css/default.css Wed Apr 24 13:34:58 2013 +0900 @@ -301,11 +301,11 @@ /* line 171, ../scss/default.scss */ slides > slide:not(.nobackground):before { font-size: 12pt; - content: "#yourhashtag"; + content: ""; position: absolute; bottom: 20px; left: 60px; - background: url(../../images/google_developers_icon_128.png) no-repeat 0 50%; + /* background: url(../../images/google_developers_icon_128.png) no-repeat 0 50%;*/ -webkit-background-size: 30px 30px; -moz-background-size: 30px 30px; -o-background-size: 30px 30px;