Mercurial > hg > Papers > 2015 > sugi-master
diff paper/chapter1.tex @ 19:6b470aab9a41
modify chapter1
author | sugi |
---|---|
date | Thu, 29 Jan 2015 14:56:54 +0900 |
parents | d2eeb833c75e |
children | 6ee0c7a04e2f |
line wrap: on
line diff
--- a/paper/chapter1.tex Tue Jan 27 20:38:25 2015 +0900 +++ b/paper/chapter1.tex Thu Jan 29 14:56:54 2015 +0900 @@ -33,11 +33,13 @@ \end{figure} \subsection{ComputationとMeta Computation} -Aliceのcomputationは\ref{subsection:computation}で示したように、keyで指し示されるData Segmentを待ち合わせてCode Segmentを実行させるというものである。アプリケーションを作成するためにはアルゴリズムをAliceのComputationで表現する必要がある。しかし、アプリケーションを作成するためにはAliceのComputationで表現するだけでは足りない。 +Aliceのcomputationは\ref{subsection:computation}で示したように、keyで指し示されるData Segmentを待ち合わせてCode Segmentを実行させるというものである。アプリケーションを作成するためにはアルゴリズムをAliceのComputationで表現する必要がある。 + +また、アプリケーションでAliceのComputationを設定するComputationを利用することができる。このComputationをMeta Computationと呼ぶ。 -例えば、AliceはData SegmentをDatabaseにMemory上に書き出してるが、書き出す際にMemoryが不足していた場合どうするのかといったメモリ管理の問題がある。これはアプリケーションに直接関係しているわけではないが、Aliceを動作させるために必要なcomputationである。このcomputationを設定することのできるcomputationがmeta computationである。 +例えば、Topology ManagerのMeta Computationを利用することで、2分木を3分木にするというトポロジーの変更を行うことができる。他にも再接続のMeta Computationを利用することで、切断されたノードが再びアプリケーションに参加してきた時のみ、以前の計算から再開させることができる。 -今回Aliceにmeta computationを追加した。Aliceでmeta computationを表現するので、当然Code SegmentとData Segmentで表現される +こういったMeta Computationを用いることで元のプログラムを変更することなしに動作を変更する事ができる。 \section{Aliceの実装} @@ -85,7 +87,6 @@ しかし、どの時点でノードとkeyの指定を行えばよいか、どのようなAPIを用意するべきかは、議論の余地がある。 - \subsubsection{Code Segmentの実行方法} Alice には、Start Code Segment (ソースコード \ref{src:StartCodeSegment})というC の main に相当するような最初に実行される Code Segment がある。 \begin{table}[html] @@ -161,5 +162,5 @@ \section{Aliceによるプログラミング手法} -AliceはCode SegmentとData Segmentによってプログラミングを行なう。Code Segmentから別にCode SegmentへData Segmentを引き渡す際、コンストラクタは使わない。Code SegmentがLocal / Remote Data Segmentに対してputを行い、別のCode SegmentがLocal / Remote Data Segmentに対してpeekを行うことで引き渡される。つまり、Code Segmentは実行前後にData Segmentへ通信が行われるのである。この通信の順序がCode Segmentの実行順序を決定している。 +AliceはCode SegmentとData Segmentによってプログラミングを行う。Code Segmentから別にCode SegmentへData Segmentを引き渡す際、コンストラクタは使わない。Code SegmentがLocal / Remote Data Segmentに対してputを行い、別のCode SegmentがLocal / Remote Data Segmentに対してpeekを行うことで引き渡される。つまり、Code Segmentは実行前後にデータベースへ通信が行われるのである。この通信の順序がCode Segmentの実行順序を決定している。 すなわち、Aliceによるプログラミングとは通信の管理を行うことであり、プロトコルを設計することと捉える事ができる。