comparison paper/sigos.tex @ 10:7fdd8fe79a65

add sourse
author Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
date Wed, 06 May 2015 23:03:46 +0900
parents a5958e372cee
children 7a517d4b20f3
comparison
equal deleted inserted replaced
9:a5958e372cee 10:7fdd8fe79a65
69 69
70 \end{abstract} 70 \end{abstract}
71 71
72 % 英文概要 仮 72 % 英文概要 仮
73 \begin{eabstract} 73 \begin{eabstract}
74 Alice is a framework for distributed programming, which uses Data Segment and Code Segment as programming units.We checked Alice has an ability to write distributed program using aquarium example, distributed database Jungle and share screen system AliceVNC by previous research. 74 Alice is a framework for distributed programming, which uses Data Segment and Code Segment as programming units. We checked Alice has an ability to write distributed program using aquarium example, distributed database Jungle and screen sharing system AliceVNC.
75 But if programmer want to build Application by Alice, Alice need function of choice the Data Segment representation. 75
76 76 In this paper, we add Data Segment computation of compress for achieving Data Segment polymerism. Data Segment has 3 type representation(Object type, ByteArray type using MessagePack, and compressed ByteArray type).
77 In this paper, we add Alice computation of compress for achieving Data Segment polymerism. Data Segment has 3 type representation(Object type, ByteArray type using MessagePack, and compressed ByteArray type).
78 \end{eabstract} 77 \end{eabstract}
79 78
80 % 表題などの出力 79 % 表題などの出力
81 \maketitle 80 \maketitle
82 81
104 103
105 CSは実行に必要なDSが揃うと実行されるという性質を持ち、入力されたDSに応じた結果が出力される。 104 CSは実行に必要なDSが揃うと実行されるという性質を持ち、入力されたDSに応じた結果が出力される。
106 CSを実行するために必要な入力DSはInputDS、CSが計算を行った後に出力されるDSはOutput DSと呼ばれる。データの依存関係にないCSは並列実行が可能であるため、並列度を上げるためにはCSの処理内容を細かく分割して依存するデータを少なくするのが望ましい。 105 CSを実行するために必要な入力DSはInputDS、CSが計算を行った後に出力されるDSはOutput DSと呼ばれる。データの依存関係にないCSは並列実行が可能であるため、並列度を上げるためにはCSの処理内容を細かく分割して依存するデータを少なくするのが望ましい。
107 106
108 \subsection*{[Data Segment]} 107 \subsection*{[Data Segment]}
109
110 複数のスレッドから1つのデータに変更を行うためには、データの不整合を防ぐためのlockが必要になる。複数の関係のない要素を1つのデータオブジェクトで表現した場合、全ての操作でlockが必要になる。このlockがスケラビリティーを低下させる。つまりデータのサイズも並列計算には重要である。
111
112 Aliceはデータを分割して記述する。その分割されたデータをDSと呼ぶ。 108 Aliceはデータを分割して記述する。その分割されたデータをDSと呼ぶ。
113 Javaの実装ではMPでは特定のオブジェクトにマッピングされ、マッピングされたクラスを通してアクセスされる。 109 Javaの実装ではMessagePackで特定のオブジェクトにマッピングされ、マッピングされたクラスを通してアクセスされる。
110
111 CSの実行においてDSは占有されるため、Aliceではデータが他から変更され整合性がとれなくなることはない。
114 112
115 113
116 \subsection*{[Data Segment Manager]} 114 \subsection*{[Data Segment Manager]}
117 DSは実際にはqueueに保存される。queueには対になるkeyが存在し、keyの数だけqueueが存在する。 115 DSは実際にはqueueに保存される。queueには対になるkeyが存在し、keyの数だけqueueが存在する。
118 このkeyを指定してDSの保存、取得を行う。queueの集合体はデータベースとして捉えられる。このデータベースをAliceではDS Manager(以下DSM)と呼ぶ。DSMにはLocal DSMとRemote DSMが存在する。Local DSMは各ノード固有のデータベースである。Remote DSMは他のノードのLocal DSMのproxyであり、接続しているノードの数だけ存在する。(図\ref{fig:RemoteDSM})Remote DSMに対して書き込むと対応するノードのLocal DSMに書き込まれる。 116 このkeyを指定してDSの保存、取得を行う。queueの集合体はデータベースとして捉えられる。このデータベースをAliceではDS Manager(以下DSM)と呼ぶ。DSMにはLocal DSMとRemote DSMが存在する。Local DSMは各ノード固有のデータベースである。Remote DSMは他のノードのLocal DSMのproxyであり、接続しているノードの数だけ存在する。(図\ref{fig:RemoteDSM})Remote DSMに対して書き込むと対応するノードのLocal DSMに書き込まれる。