
89MapReduce Family of Large-Scale Data-Processing Systems
communication graph along with library code to schedule the work across the avail-
able resources. All data is sent directly between vertices, and thus, the job manager
is only responsible for control decisions and is not a bottleneck for any data transfers.
Therefore, much of the simplicity of the Dryad scheduler and fault-tolerance model
come from the assumption that vertices are deterministic.
Dryad has its own high-level language called DryadLINQ [133]. It generalizes
execution environments such as SQL and MapReduce in two ways: (1) adopting an
expressive data model of strongly type ...