changeset 6:11bebd9ecb0e

cut flip explain
author Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
date Wed, 28 Oct 2015 18:37:56 +0900
parents 67ea311b8445
children 4f6ec7426007
files midterm.pdf midterm.tex
diffstat 2 files changed, 13 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
Binary file midterm.pdf has changed
--- a/midterm.tex	Tue Oct 27 16:42:27 2015 +0900
+++ b/midterm.tex	Wed Oct 28 18:37:56 2015 +0900
@@ -47,7 +47,7 @@
 \subsection*{[Data Segment]}
 Aliceはデータを分割して記述する。その分割されたデータをDSと呼ぶ。
 実際には整数や文字列などの基本的なデータの集まりのことを指し、Aliceの場合はJavaオブジェクトに対応する。
-CSの実行においてDSは占有されるため、Aliceではデータが他から変更され整合性がとれなくなることはない。
+CSの実行においてDSが他のCSから変更を受けることはない。そのためAliceではデータが他から変更され整合性がとれなくなることはない。
 
 
 \subsection*{[Data Segment Manager]}
@@ -76,13 +76,7 @@
 この問題をノード同士を接続させ、木構造を構成することで負荷分散を行い解決したものがTreeVNCである。
 Aliceが実用的なアプリケーションを記述する能力をもつことを確認するために、TreeVNCをAliceを用いて実装したAliceVNCの作成を行った。
 
-\section{Alice の新機能}
-実用的なアプリケーションである TreeVNC を Alice 上で実装することで、Alice に必要な機能を洗い出した。
-\subsection*{[flip機能]}
-Data Segment APIを用いると、Output DSが毎回新しく作成され、出力するデータのコピーが行われる。しかし、Input DSとして取得したデータをそのまま子ノードにOutput Data Segmentとして出力する場合、コピーを行なうのは無駄である。
-そこで、Input DSとOutput DSにそのまま転送する機能をflip機能として実装することで、コピーのオーバーヘッドを減らした。TreeVNCでは親ノードから受け取った画面データをそのまま子ノードに配信するため、Meta Computationとしてflip機能が有用である。
-
-\subsection*{[Data Segmentの表現の追加(圧縮機能)]}
+\section{Alice で追加したMetaComputation(圧縮機能)}
 TreeVNCでは画面配信の際、データを圧縮してノード間通信を行っている。
 そのため、AliceVNCにも圧縮されたデータ形式を扱える機能が必要だと考えた。
 しかし、ただデータを圧縮する機構を追加すればいいわけではない。
@@ -105,12 +99,15 @@
 さらに、圧縮状態を持つDSを扱うDSMとしてLocalとRemoteそれぞれにCompressed Data Segment Managerの追加した。Compressed DSMの内部では、DSが呼ばれた際に圧縮表現を持っていればそれを使用し、持っていなければその時点で圧縮表現を作って操作を行う。
 これによりユーザは指定するDSMを変えるだけで、他の計算部分を変えずに圧縮表現を持つDSを扱うことができる。ノードは圧縮されたDSを受け取った後、そのまま子ノードにflipすれば圧縮状態のまま送信されるので、送信の際の再圧縮がなくなる。
 
-しかし、データの表現に圧縮したbyteArrayを追加したため、Remoteから受け取ったbyteArrayのDSが圧縮されているのかそうでないのかを判断する必要がある。
-そこで、Aliceの通信におけるヘッダにあたるCommandMessage.classにシリアライズ状態表すフラグと、圧縮状態を表すフラグを追加した。
-これによってputされたDSMはフラグに応じた適切な形式でReceiveData.class内にDSを格納できる。
+
+\section{まとめ}
+並列分散フレームワークAliceの計算モデルと実装について説明を行い、Aliceにおけるプログラミング手法を述べた。
 
-\section{今後の課題}
-AliceVNCとTreeVNCを比較することにより実装したMeta Computationの有効性を示す必要がある。
+Aliceが実用的なアプリケーションを記述するために必要なMeta Computationとして、データの多態性を実現し、指定するDSMの切り替えで扱うデータ表現を変えるようにした。
+これにより、必要に応じた形式を扱うことができ、ユーザが記述するComputation部分を大きく変えずに自由度の高い通信を行うことが可能になった。
+同様の手法を用いれば、圧縮形式以外にも暗号形式・JSON形式などの複数のデータ表現をユーザに扱いやすい形で拡張することができる。
+
+今後の課題としては、AliceVNCとTreeVNCを比較することにより実装したMeta Computationの有効性を示す必要がある。
 また、TreeVNCでは複雑な記述になってしまったNAT越えの機能を提供できると期待される。
 
 
@@ -125,5 +122,8 @@
 \bibitem{3}
 {Yu SUGIMOTO and Shinji KONO}: 分散フレームワークAlice上のMeta Computationと応用,琉球大学工学部情報工学科平成26年度学位論文(修士) (2014).
 
+\bibitem{4}
+{Yu SUGIMOTO and Shinji KONO}: 分散フレームワーク Alice の圧縮機能, 情報処理学会システムソフトウェアとオペレーティング・システム研究会(OS) (2015).
+
 \end{thebibliography}
 \end{document}
\ No newline at end of file