changeset 15:696a908208c8

add compress part
author Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
date Sun, 24 May 2015 18:40:04 +0900
parents 99e5104997b7
children 1ac38e2b7572
files presen/sigOS/sample.html presen/sigOS/sample.markdown
diffstat 2 files changed, 55 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- a/presen/sigOS/sample.html	Sun May 24 17:56:24 2015 +0900
+++ b/presen/sigOS/sample.html	Sun May 24 18:40:04 2015 +0900
@@ -35,7 +35,7 @@
 			<!-- === begin markdown block ===
 
       generated by markdown/1.2.0 on Ruby 2.1.0 (2013-12-25) [x86_64-darwin13.0]
-                on 2015-05-24 17:55:49 +0900 with Markdown engine kramdown (1.5.0)
+                on 2015-05-24 18:39:51 +0900 with Markdown engine kramdown (1.5.0)
                   using options {}
   -->
 
@@ -94,7 +94,7 @@
 
 <ul>
   <li>複数の関係のない要素を1つのデータオブジェクトで表現した場合、全ての操作でlockが必要になり、スケラビリティーを低下させる。</li>
-  <li>Alice はデータを細かく分割して記述する。その分割されたデータを <em>Data Segment(DS)</em> と呼ぶ。</li>
+  <li>Alice はデータを細かく分割して記述する。その分割されたデータを <strong>Data Segment(DS)</strong> と呼ぶ。</li>
 </ul>
 
 
@@ -204,7 +204,7 @@
 			<!-- _S9SLIDE_ -->
 
 <ul>
-  <li>Alice上で実行されるタスクの単位を Code Segment(CS) と呼ぶ。</li>
+  <li>Alice上で実行されるタスクの単位を <strong>Code Segment(CS)</strong> と呼ぶ。</li>
   <li>複数のDSが入力され、その結果をDSとして出力するfunctionと捉えられる。</li>
   <li>CS をユーザーが記述する際には CS を継承して記述することにより CS で使用する API を利用する事ができる。</li>
 </ul>
@@ -304,9 +304,7 @@
 			<!-- _S9SLIDE_ -->
 
 <ul>
-  <li>研究室では授業向け画面共有システム TreeVNC の開発を行っている。</li>
-  <li>授業で VNC を使う場合、1つ のコンピュータに多人数が同時につながるため、性能が大幅に落ちる</li>
-  <li>TreeVNCではノード同士を接続させ、木構造を構成することで負荷分散を行う
+  <li>研究室では授業向け画面共有システムTreeVNCではノード同士を接続させ、木構造を構成することで負荷分散を行う
 <img src="./images/treeVNC.svg" alt="opt" /></li>
 </ul>
 
@@ -323,10 +321,10 @@
 			<!-- _S9SLIDE_ -->
 
 <ul>
-  <li>Alice が実用的なアプリケーションを記述する能力をもつことを確認するために、TreeVNC を Alice を用いて実装した AliceVNC の作成を行った。</li>
+  <li>Alice が実用的なアプリケーションを記述する能力をもつことを確認するため、TreeVNC を Alice を用いて実装した AliceVNC の作成を行った。</li>
   <li>AliceVNCの実装で必要となった以下の機能をMeta Computation として実装した。<br />
     <ul>
-      <li>flip機能 … Input DS を Output DS として転送する</li>
+      <li>転送機能 … Input DS を Output DS として転送する</li>
       <li>圧縮機能 … DS Manager の指定によってDSの表現を切り替える</li>
     </ul>
   </li>
@@ -340,10 +338,15 @@
 <div class="slide" id="17"><div>
 		<section>
 			<header>
-				<h1 id="flip">flip機能</h1>
+				<h1 id="section-3">転送機能</h1>
 			</header>
 			<!-- _S9SLIDE_ -->
 
+<ul>
+  <li>通常、Input DSに変更を加えOutput DSとして出力する場合DSのコピーが行われる。</li>
+  <li>AliceVNCのようにInput DS をそのまま子ノードに Output DS として出力する場合、コピーを行なうのは無駄。</li>
+  <li>Input DSをコピーせずそのままOutput DSに渡すMeta Computationとして転送機能を実装した。</li>
+</ul>
 
 
 
@@ -353,7 +356,7 @@
 <div class="slide" id="18"><div>
 		<section>
 			<header>
-				<h1 id="section-3">圧縮機能</h1>
+				<h1 id="section-4">圧縮機能</h1>
 			</header>
 			<!-- _S9SLIDE_ -->
 
@@ -475,12 +478,14 @@
 <div class="slide" id="24"><div>
 		<section>
 			<header>
-				<h1 id="section-4">圧縮機能 - 通信プロトコルの変更</h1>
+				<h1 id="section-5">圧縮機能 - 通信プロトコルの変更</h1>
 			</header>
 			<!-- _S9SLIDE_ -->
 
-<p>Remote から put されたデータは必ずシリアライズ化されており byteArray で表現される。
-データの 表現に圧縮した byteArray を追加したため、Remote から put された byteArray が圧縮されているのかそ うでないのかを判断する必要がある。</p>
+<ul>
+  <li>Remote から put されたデータは必ずシリアライズ化されており byteArray で表現される。</li>
+  <li>圧縮した byteArray の追加により、Remote から put された byteArray が圧縮されているのか判断する必要がある。</li>
+</ul>
 
 
 
@@ -490,11 +495,14 @@
 <div class="slide" id="25"><div>
 		<section>
 			<header>
-				<h1 id="section-5">圧縮機能の評価</h1>
+				<h1 id="section-6">圧縮機能 - 通信プロトコルの変更</h1>
 			</header>
 			<!-- _S9SLIDE_ -->
 
-<p>RingRelayTest</p>
+<ul>
+  <li>Alice の通信におけるヘッダにあたる CommandMessage.classに <strong>シリアライズ状態表すフラグ</strong>と、<strong>圧縮状態を表すフラク</strong> を追加</li>
+  <li>これにより put された DSM はフラグに応じた適切な形式で格納できる。</li>
+</ul>
 
 
 
@@ -504,7 +512,22 @@
 <div class="slide" id="26"><div>
 		<section>
 			<header>
-				<h1 id="section-6">まとめ</h1>
+				<h1 id="section-7">圧縮機能の評価</h1>
+			</header>
+			<!-- _S9SLIDE_ -->
+
+<p>RingRelayTest
+<img src="./images/topologyring.svg" alt="opt" /></p>
+
+
+
+		</section>
+</div></div>
+
+<div class="slide" id="27"><div>
+		<section>
+			<header>
+				<h1 id="section-8">まとめ</h1>
 			</header>
 			<!-- _S9SLIDE_ -->
 
--- a/presen/sigOS/sample.markdown	Sun May 24 17:56:24 2015 +0900
+++ b/presen/sigOS/sample.markdown	Sun May 24 18:40:04 2015 +0900
@@ -16,7 +16,7 @@
 
 # Aliceの概要(1) - Data Segment
 * 複数の関係のない要素を1つのデータオブジェクトで表現した場合、全ての操作でlockが必要になり、スケラビリティーを低下させる。
-* Alice はデータを細かく分割して記述する。その分割されたデータを *Data Segment(DS)* と呼ぶ。
+* Alice はデータを細かく分割して記述する。その分割されたデータを **Data Segment(DS)** と呼ぶ。
 
 # Aliceの概要(2) - Data Segment Manager
 * DS は queue に保存される。queue には対 になる key し、 key を指定して DS の保存、取得を行う。
@@ -57,7 +57,7 @@
 	* RemoteDSM に put された場合は通信時に byteArray に変換されたバイナリオブジェクトが enQueue される。
 
 # Aliceの概要(5) - Code Segment  
-* Alice上で実行されるタスクの単位を Code Segment(CS) と呼ぶ。
+* Alice上で実行されるタスクの単位を **Code Segment(CS)** と呼ぶ。
 * 複数のDSが入力され、その結果をDSとして出力するfunctionと捉えられる。
 * CS をユーザーが記述する際には CS を継承して記述することにより CS で使用する API を利用する事ができる。
 
@@ -88,18 +88,19 @@
 * Meta Computation も CS と DS により表現されており、それぞれMeta CSとMeta DSと呼ぶ。
 
 # AliceVNC
-* 研究室では授業向け画面共有システム TreeVNC の開発を行っている。
-* 授業で VNC を使う場合、1つ のコンピュータに多人数が同時につながるため、性能が大幅に落ちる
-* TreeVNCではノード同士を接続させ、木構造を構成することで負荷分散を行う
+* 研究室では授業向け画面共有システムTreeVNCではノード同士を接続させ、木構造を構成することで負荷分散を行う
 ![opt](./images/treeVNC.svg)
 
 # Alice の新機能
-* Alice が実用的なアプリケーションを記述する能力をもつことを確認するために、TreeVNC を Alice を用いて実装した AliceVNC の作成を行った。
+* Alice が実用的なアプリケーションを記述する能力をもつことを確認するため、TreeVNC を Alice を用いて実装した AliceVNC の作成を行った。
 * AliceVNCの実装で必要となった以下の機能をMeta Computation として実装した。  
-	* flip機能 … Input DS を Output DS として転送する
+	* 転送機能 … Input DS を Output DS として転送する
 	* 圧縮機能 … DS Manager の指定によってDSの表現を切り替える
 
-# flip機能
+# 転送機能
+* 通常、Input DSに変更を加えOutput DSとして出力する場合DSのコピーが行われる。
+* AliceVNCのようにInput DS をそのまま子ノードに Output DS として出力する場合、コピーを行なうのは無駄。
+* Input DSをコピーせずそのままOutput DSに渡すMeta Computationとして転送機能を実装した。
 
 # 圧縮機能
 * AliceVNCは、ノードは受け取った画面データを描画すると同時に、子ノードの Remote DSM に送信する。
@@ -151,11 +152,16 @@
 * take(String **"compressed"** + managerKey, String key)
 
 # 圧縮機能 - 通信プロトコルの変更
-Remote から put されたデータは必ずシリアライズ化されており byteArray で表現される。
-データの 表現に圧縮した byteArray を追加したため、Remote から put された byteArray が圧縮されているのかそ うでないのかを判断する必要がある。
+* Remote から put されたデータは必ずシリアライズ化されており byteArray で表現される。
+* 圧縮した byteArray の追加により、Remote から put された byteArray が圧縮されているのか判断する必要がある。
+
+# 圧縮機能 - 通信プロトコルの変更
+* Alice の通信におけるヘッダにあたる CommandMessage.classに **シリアライズ状態表すフラグ**と、**圧縮状態を表すフラク** を追加
+* これにより put された DSM はフラグに応じた適切な形式で格納できる。
 
 # 圧縮機能の評価
 RingRelayTest
+![opt](./images/topologyring.svg)
 
 # まとめ
 * Alice が実用的なアプリケーションを記述するための Meta Computation として、データに多態性を持たせ、指定するDSMによってデータ表 現を変える機能を実装した。