Research
MapReduce: just map and reduce (with mergesort)
Spark, Dryad: generalize to any DAG
Spark: creates RDDs, in-memory compute
Naiad: adds cycles/iteration
Timely Dataflow: Rust impl
Differential Dataflow: adds increment compute