# HG changeset patch # User Nozomi Teruya # Date 1446107604 -32400 # Node ID 4f6ec742600707f61fdbdb65143b6337d6e0c03f # Parent 11bebd9ecb0e493c206ce50b5b6556d468b76b46 fix diff -r 11bebd9ecb0e -r 4f6ec7426007 midterm.pdf Binary file midterm.pdf has changed diff -r 11bebd9ecb0e -r 4f6ec7426007 midterm.tex --- a/midterm.tex Wed Oct 28 18:37:56 2015 +0900 +++ b/midterm.tex Thu Oct 29 17:33:24 2015 +0900 @@ -25,7 +25,11 @@ \thispagestyle{fancy} \section{研究目的} -当研究室ではデータをData Segment、タスクをCode Segmentという単位で分割して記述する分散フレームワークAliceの開発を行っている。 +当研究室ではデータをData Segment、タスクをCode Segmentという単位で分割して記述する分散フレームワークAliceの開発を行っている。Aliceではスケーラブルな分散プログラムを信頼性高く記述できる環境を実現する。 + ここで言う信頼性とは定められた環境下で安定して仕様に従った動作を行うことを指す。 + Aliceでは、処理をComputationとMetaComputationに階層化し、コアな仕様と複雑な例外処理に分離する。 +仕様の変更を抑えながらプログラムの挙動を変えさせることにより分散アプリケーションの信頼性向上をめざす。 + 本研究では、 Alice上に実用的なアプリケーションである画面共有システムTreeVNC\cite{1}を構築する。構築するにあたり必要となった転送・圧縮などの機能を AliceのMeta Computation として実装する。そしてAliceを使用していないTreeVNCとの比較を行うことでMetaComputationの役割と有効性を示す。 \section{分散フレームワーク Alice の概要} @@ -71,17 +75,20 @@ Aliceの機能を追加するということは Meta Computation を追加すると言い換えられる。 \section{AliceVNC} -当研究室では授業向け画面共有システムTreeVNCの開発を行っている。 +AliceのMeta Computationが実用的なアプリケーションの記述において有用であることを確認する。 +そのために、TreeVNCをAliceを用いて実装したAliceVNCの作成を行った。 +TreeVNCとは、当研究室開発を行っている授業向け画面共有システムである。 授業でVNCを使う場合、1つのコンピュータに多人数が同時につながるため、性能が大幅に落ちてしまう。 この問題をノード同士を接続させ、木構造を構成することで負荷分散を行い解決したものがTreeVNCである。 -Aliceが実用的なアプリケーションを記述する能力をもつことを確認するために、TreeVNCをAliceを用いて実装したAliceVNCの作成を行った。 +TreeVNCは通信処理部分の記述が大変複雑である。しかし、Aliceで記述すれば本質的な処理とそれを支える通信処理部分で分離できるため、シンプルな記述で構成可能と期待される。 -\section{Alice で追加したMetaComputation(圧縮機能)} +\section{Alice に追加したMetaComputation(圧縮機能)} +AliceVNCで使用するAliceのMetaComputationの一つが圧縮機能である。 TreeVNCでは画面配信の際、データを圧縮してノード間通信を行っている。 そのため、AliceVNCにも圧縮されたデータ形式を扱える機能が必要だと考えた。 しかし、ただデータを圧縮する機構を追加すればいいわけではない。 -AliceVNCでは、ノードは受け取った画面データを描画すると同時に、子ノードのRemote DS Managerに送信する。 +AliceVNCでは、ノードは受け取った画面データを描画すると同時に、子ノードのRemote DSMに送信する。 ノードはDSを受信するとそれを一度解凍して画面を表示し、再圧縮して子ノードに送信する。 しかし、受け取ったデータを自分の子ノードに対して送信する際には、解凍する必要はない。 圧縮状態のまま子ノードに送信ができれば、解凍・再圧縮するオーバーヘッドを無くすことができる。 @@ -97,7 +104,7 @@ 1はLocalDSMにDSを保存する場合に用いる。また、圧縮せずにRemoteDSMにDSを保存する場合は2のMessagePack形式で送られる。そしてLocal, Remote に対しDSを圧縮して保存する場合は3を用いる。 さらに、圧縮状態を持つDSを扱うDSMとしてLocalとRemoteそれぞれにCompressed Data Segment Managerの追加した。Compressed DSMの内部では、DSが呼ばれた際に圧縮表現を持っていればそれを使用し、持っていなければその時点で圧縮表現を作って操作を行う。 -これによりユーザは指定するDSMを変えるだけで、他の計算部分を変えずに圧縮表現を持つDSを扱うことができる。ノードは圧縮されたDSを受け取った後、そのまま子ノードにflipすれば圧縮状態のまま送信されるので、送信の際の再圧縮がなくなる。 +これによりユーザは指定するDSMを変えるだけで、他の計算部分を変えずに圧縮表現を持つDSを扱うことができる。ノードは圧縮されたDSを受け取った後、そのまま子ノードに転送すれば圧縮状態のまま送信されるので、送信の際の再圧縮がなくなる。 \section{まとめ} @@ -123,7 +130,7 @@ {Yu SUGIMOTO and Shinji KONO}: 分散フレームワークAlice上のMeta Computationと応用,琉球大学工学部情報工学科平成26年度学位論文(修士) (2014). \bibitem{4} -{Yu SUGIMOTO and Shinji KONO}: 分散フレームワーク Alice の圧縮機能, 情報処理学会システムソフトウェアとオペレーティング・システム研究会(OS) (2015). +{Nozomi Teruya, Yu SUGIMOTO and Shinji KONO}: 分散フレームワーク Alice の圧縮機能, 情報処理学会システムソフトウェアとオペレーティング・システム研究会(OS) (2015). \end{thebibliography} \end{document} \ No newline at end of file