Dryad: Distributed Data-Parallel Programs from Sequential building Blocks

October 23, 2021

DryadはMicrosoftで開発された分散コンピューティングエンジンであり、MapReduceに近い。 処理を点、処理結果を受け渡す通信経路を辺とするDAGで、分散処理を定義する。 通信経路にはファイル、TCP, FIFOを使え、実行環境は1台のマルチコアのコンピュータから数千台のコンピュータまでスケールできる。 MapReduceは入力と出力が一つでなければならないが、DryadはDAGであれば入力と出力が複数あってもかまわない。

Dryadは、job manager(JM)が利用可能なノードをネームサーバ(NS)に問い合わせ、ノード(V)にプログラムを転送し、入出力を監視する。 Dryadの全体像を以下に図示する。 Job managerは、ノード上のデーモン(D)をプロキシとして、処理の起動とその後の処理の進行を監視する。 dryad

論文をこちらからダウンロードできます。 図は論文から引用されています。