Mercurial > hg > Papers > 2015 > nozomi-sigos
diff presen/sigOS/sample.markdown @ 16:1ac38e2b7572
before review
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2015 00:09:45 +0900 |
parents | 696a908208c8 |
children | a26eacfb4922 |
line wrap: on
line diff
--- a/presen/sigOS/sample.markdown Sun May 24 18:40:04 2015 +0900 +++ b/presen/sigOS/sample.markdown Mon May 25 00:09:45 2015 +0900 @@ -85,7 +85,7 @@ * Javaで記述したAliceの実装システム * Aliceの機能を追加するということは Meta Computation を追加すると言い換えられる -* Meta Computation も CS と DS により表現されており、それぞれMeta CSとMeta DSと呼ぶ。 +* Meta Computation も CS と DS により表現される。 # AliceVNC * 研究室では授業向け画面共有システムTreeVNCではノード同士を接続させ、木構造を構成することで負荷分散を行う @@ -102,6 +102,13 @@ * AliceVNCのようにInput DS をそのまま子ノードに Output DS として出力する場合、コピーを行なうのは無駄。 * Input DSをコピーせずそのままOutput DSに渡すMeta Computationとして転送機能を実装した。 +# 転送機能 +```java + public void flip(Receiver receiver) { + DataSegment.getLocal().put(receiver.key, receiver.getReceiveData(), null); + } +``` + # 圧縮機能 * AliceVNCは、ノードは受け取った画面データを描画すると同時に、子ノードの Remote DSM に送信する。 * ノードは DS を受信するとそれを一度解凍して画面を表示し、再圧縮して子ノードに送信する。 @@ -159,8 +166,55 @@ * Alice の通信におけるヘッダにあたる CommandMessage.classに **シリアライズ状態表すフラグ**と、**圧縮状態を表すフラク** を追加 * これにより put された DSM はフラグに応じた適切な形式で格納できる。 +# 圧縮機能 - 通信プロトコルの変更 + +```java + public class CommandMessage { + public int type; + public int seq; + public String key; + public boolean quickFlag = false; + public boolean serialized = false; + public boolean compressed = false; + public int dataSize = 0; + } +``` + + +# 圧縮機能 - 通信プロトコルの変更 +<table style="border-collapse: collapse;border:1px solid #000000;"> + <tr> + <td style="border:1px solid #000000;"> type</td> + <td style="border:1px solid #000000;">CommandType PEEK, PUT などを表す</td> + </tr> + <tr> + <td style="border:1px solid #000000;"> seq </td> + <td style="border:1px solid #000000;">DS の待ち合わせを行っている CS を表す unique number</td> + </tr> + <tr> + <td style="border:1px solid #000000;"> key </td> + <td style="border:1px solid #000000;">どの Key に対して操作を行うか指定する</td> + </tr> + <tr> + <td style="border:1px solid #000000;"> quickFlag </td> + <td style="border:1px solid #000000;">SEDA を挟まず Command を処理を行うかを示す</td> + </tr> + <tr> + <td style="border:1px solid #000000;"> serialized </td> + <td style="border:1px solid #000000;">データ本体のシリアライズ状態を示す</td> + </tr> + <tr> + <td style="border:1px solid #000000;"> compressed </td> + <td style="border:1px solid #000000;">データ本体の圧縮状態を示す</td> + </tr> + <tr> + <td style="border:1px solid #000000;"> dataSize </td> + <td style="border:1px solid #000000;">圧縮前のデータサイズを表す</td> + </tr> +</table> + # 圧縮機能の評価 -RingRelayTest +RingRelayTest ![opt](./images/topologyring.svg) # まとめ