---歴史的経緯--本研究室では、並列タスク管理フレームワークCeriumの管理を行なっているが、その設計と実装を行うにあたり、並列プログラミングと分散プログラミング-は本質的には同じことを行なっていることが分かった。特異な環境は、分散プログラミング環境と告示している。それらを踏まえて、Ceriumのタスク管理手法を分散に応用できないかと考えた。---Ceriumに置いても、タスクとそれの入出力データの取り扱いは難しい課題である。データを操作するAPIを考えて、タスクを自然に記述し、効率良く実行する方法を考えてきた。そこで考えられた手法が、データをDataSegment、タスクをCodeSegmentという単位に分割して記述する方法である。開発を通して得られた知見を生かされている。設計はシングルスレッドで行われている。近年ではマルチコアのマシンが主流となっている。将来的にはメニーコアのマシンが主流になってくると考えられるそのような背景を踏まえてAliceはマルチスレッド向けに設計されている。開発を通して得られた知見を生かされている。Segmentという単位でデータと処理を細かく分割し、それぞれの依存関係を記述して分散プログラムを作成する。他のマシンとの接続トポロジーの構成の機能も有しているのでユーザーはトポロジー構成後の処理を記述するだけでよい。-また、AliceはJavaで実装されている。Taskを小さく分割して並列実行し、データ転送はパイプライン実行により隠される。依存関係になることが多い。タプル(データ構造)をやり取りする部分を作成した\cite{}。よる記述が分散してしまい、可読性を落としてしまう。内部の状態に依存する。++これらが示しているのは、並列分散実行はコードの並列実行だけでなく、データの単位が重要だということである。Segmentという単位でデータと処理を細かく分割し、それぞれの依存関係を記述して分散プログラムを作成する。Semgnetをデータベースとして利用している。KeyValueStoreで実装されており、キーごとにリストを持っている。APIを用いることで、リストにデータを追加、削除を適宜行うことができる。分離されたデータ構造であり、オブジェクトではない。オブジェクト指向プログラミングが状態を複雑に持ち、並列実行や分散実行に向かないことは徐々に理解されてきている。記述するのが自然である。到着によってトリガーされる。Diagram)の古典的な手法であり、それ自体は新しくはない。メインフレーム上でのソフトウェア開発に良く使われてきた手法である。Managerである。Segmentを整理する。各キーごとにキュー構造を持っている。APIを用いて操作する。"take")時に、希望のデータがなかった場合、ブロッキングを行う機能を持つ。-しかし、ブロッキングといってもそこで同期するわけではない。-非同期でデータを通信する。違い、レスポンスが発生する。実装したフレームワークである。上での+分散プログラムの実験を容易に行うことができる。採用しており、マルチコア上でのスループットの向上を期待している。APIと、その設計方針を示し、それによって実装された水槽プログラムを示す。他のマシンとの接続トポロジーの構成の機能も有しているのでユーザーはトポロジー構成後の処理を記述するだけでよい。AliceはJavaで実装されている。相互参照が問題になる。して考えることができる。準じた設計になっている。Managerである。