分散処理との関係

DAG

分散処理で使われる計算モデルのひとつに、DAG(directed-acyclic graph:有向非巡回グラフ)
があります。DAGはその名のとおり、向きがあって循環のないグラフで、各ノードで計算が行われ、
各エッジが、その方向へのデータフローとなります。
このDAGは、リアクティブプログラミングにおける依存関係のグラフとそのまま対応します。
相違点としてはリアクティブプログラミングでは循環のあるグラフを扱うこともそうでないこともあります。

計算結果の合成と差分適用

また、分散処理では、データの塊を一度分割してそれぞれ計算を行い、その後、個々の計算結果を合成して最終結果を得るということを行います。
例えば合計値を得る処理を分散、合成すると、次のようなイメージになります。


この計算結果の合成と、リアクティブプログラミングにおける差分の適用は、非常に似た仕組みであると考えることができます。
違いは、リアクティブプログラミングでは、要素の追加だけではなく、削除も扱う点が挙げられます。

分散処理とリアクティブプログラミングは、その目的は違えども、ともにデータフローを扱う計算であることを考えると共通点が
多いのも当然だとも考えられます。組み合わせればいろいろと応用が考えられそうです。