# HG changeset patch
# User sugi
# Date 1366778098 -32400
# Node ID 57b1c4692d2185cdc6c46625645625dff8c4c404
# Parent 5c57e35e19b6176f9b3dc48e3d58e5d32710d412
minor change
diff -r 5c57e35e19b6 -r 57b1c4692d21 presen/index.html
--- 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 @@
- Code Segment
+ 分散ネットフレームワーク Alice
+
+
+
+ 本研究室で開発を行なっている分散管理フレームワーク
+ Data SegmentとCodeSegmentによりプログラムを記述する
+ 並列フレームワーク Ceriumに似たタスク管理機構と先行研究であるFederated Lindaに似たData Segmentの通信構造をもつ
+ メニーコアのマシンが主流である背景からSEDA Architectureが採用している
+
+
+
+
+
+
+ Data Segment
+
+
+ Data Segmentは数値や文字列を構造体的に保持する。
+ Aliceではデータベース的に扱うが、通常とは異なりKey毎にQueueを持つ
+ 以下のAPIでデータの送受信を行う
+
+ put
+ update
+ peek
+ take
+
+
+
+
+
+
+ put
@@ -65,15 +96,50 @@
- Data Segment
+ update
+
+
+
+
+
+
+
+
+ peek
- DataSegmentはデータを細かくしたものであり、以下のAPIで操作を行う
+
+
+
+
+
+
+ take
+
+
+
+ Code Segment
+
+
+
+ AliceではCode Segmentと呼ばれる単位でタスクを生成する
+ Code Segmentは依存するData Segmentが全て揃うとActiveになる
+ Input/Output Data SegmentがCode Segment間の依存関係を自動的に記述する
+
+
+
+
+
+
+
実行速度の問題
@@ -159,13 +225,15 @@
LinkedBlockingQueue
- 今回、SEDA Architectureを実装するにあたりJavaのLinkedBlockingQueueを使用している。
-特徴として
+ SEDA Architectureを実装するにあたり、LinkedBlockingQueueを使用している。
+ 特徴として
LinkedBlockingQueueは片方向の連結リストを使用したQueue
enqueue/dequeueの操作時は排他制御は別々のlockで管理
enqueueとdequeueの操作を並列に行うことが可能(スループットに優れている)
+ ただし、enqueue時にNodeオブジェクトの生成操作が発生するため、
+ enqueue操作の処理コストが特に高い。
@@ -179,9 +247,6 @@
Output Data Segmentとして出力される。
この際、変更されたDataSegmentをコピーし、新しくDataSegmentを作成する。
このコピーにかかる時間がオーバーヘッドとなっている。
-
@@ -201,200 +266,137 @@
Sortのようなにレスポンスが必要なプログラムのために、SEDAのステージ上ではなく、
直接DataSegmentを取得するAPIを用意する
+
+
+
+
+
+
+ 問題に対する改善案
+
+
+
Output Data Segment作成時におけるコピー
- Data SegmentはCode Segment内ではReceiverという変数が保持している。
-
+ Ceriumでも同様なコピーの問題があり、Input Data SegmentとOutput Data Segmentを
+ Swapすることで解決している。Aliceでも同様の方法で解決する。
+ Data SegmentはCode Segment内ではReceiverという変数が保持している。
+ このReceiverをOutput Data Segmentにすることで無駄なコピーを減らす。
- Slide with Image (Centered horz/vert)
+ 検証
-
-
- source: place source info here
-
-
-
-
-
- Table Option A
- Subtitle Placeholder
-
+
+ 実験環境
- Column 1 Column 2 Column 3 Column 4
-
-
- Row 1 placeholder placeholder placeholder placeholder
-
-
- Row 2 placeholder placeholder placeholder placeholder
-
-
- Row 3 placeholder placeholder placeholder placeholder
-
-
- Row 4 placeholder placeholder placeholder placeholder
+ CPU Intel(R) Xeon(R) X5650 @2.67GHz
- Row 5 placeholder placeholder placeholder placeholder
+ 物理コア数 12
+
+
+ 論理コア数 24
+
+
+ CPU キャッシュ 12MB
+
+
+ Memory 16GB
-
-
-
-
-
- Table Option A (Smaller Text)
- Subtitle Placeholder
-
-
-
-
- Column 1 Column 2 Column 3 Column 4
-
-
- Row 1 placeholder placeholder placeholder placeholder
-
-
- Row 2 placeholder placeholder placeholder placeholder
-
-
- Row 3 placeholder placeholder placeholder placeholder
-
-
- Row 4 placeholder placeholder placeholder placeholder
-
-
- Row 5 placeholder placeholder placeholder placeholder
-
-
+
+ SEDAを活かせるようにメニコア上でテストを行なった。
- Table Option B
- Subtitle Placeholder
+ 実験概要
-
+ 今回行った改善による効果を調べるために3つの実験を行った。
+
+ SEDAの有無
+ Data Segmentを取得するCode Segmentが10000回実行されるまでの時間を測定
+ flipとputの比較
+ 既存のAPIのput と新しく追加したAPIであるflip をつかい10000回、Data Segmentを追加されるまでの時間を測定
+ Bitonic Sortによる比較
+ 今回行った改善(ただし、MessagePackによる改善を除く)
+ Bitonic Sortで100万の要素をSortされるまでの時間を測定する。分割数は10個で行った
+
+
+
+
+
+
+
+ 実験結果
+
+
+ 実験結果は100回行った平均である
+
+
- Header 1 placeholder placeholder placeholder
+ SEDA あり なし
- Header 2 placeholder placeholder placeholder
+ 実行時間(ms) 27.72 7.53
+
+
+
+
- Header 3 placeholder placeholder placeholder
+ API flip put
- Header 4 placeholder placeholder placeholder
+ 実行時間(ms) 61.12 65.24
+
+
+
+
+
+
+ 改善前 改善後
- Header 5 placeholder placeholder placeholder
+ 実行時間(ms) 199.38 184.64
+ Bitonic Sortの例題では約10%程度改善された
+
- Slide Styles
+ まとめ
-
-
-
- class="red"
- class="red2"
- class="red3"
- class="blue"
- class="blue2"
- class="blue3"
- class="green"
- class="green2"
-
-
- class="green3"
- class="yellow"
- class="yellow2"
- class="yellow3"
- class="gray"
- class="gray2"
- class="gray3"
- class="gray4"
-
-
-
- I am centered text with a Button and Disabled button.
-
-
-
-
-
-
-
- Segue Slide
- Subtitle Placeholder
-
-
-
-
-
- Full Image (with Optional Header)
-
- www.flickr.com/photos/25797459@N06/5438799763/
-
-
-
-
-
-
- This is an example of quote text.
-
-
- Name
- Company
-
+
+
+ 今回行った改善により、以前のAliceよりも約10%程度速度が改善した
+ しかし、Aliceに要求される速度は、少なくともシングルスレッドで書かれたプログラムと同じ程度
+ 分散環境下ではFederated Linda以上の速度が求められる
+ また、Aliceが抱える問題は速度だけではない
+ 信頼性の問題や永続性の問題についても改善をしなければならない
+
- Slide with Iframe
+ Message Packの型変換にかかる時間
-
-
-
-
-
-
-
+
-
-
-
-
- <Thank You!>
- Important contact information goes here.
-
-
-
-
-
-
-
-
-
-
-
-
diff -r 5c57e35e19b6 -r 57b1c4692d21 presen/theme/css/default.css
--- 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;