From 96cf859dd50e8ea67cda6e10989a99e1a1fac741 Mon Sep 17 00:00:00 2001 From: Connor Zanin Date: Mon, 12 Dec 2016 14:12:46 -0500 Subject: intro --- chapter/4/dist-langs.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'chapter/4') diff --git a/chapter/4/dist-langs.md b/chapter/4/dist-langs.md index eb7b7a4..21adfa6 100644 --- a/chapter/4/dist-langs.md +++ b/chapter/4/dist-langs.md @@ -275,15 +275,17 @@ To accomplish reconciliation, Orleans provides data structures that can be autom As well, the developer can implement arbitrary logic for merging state. In the case of the YouTube video, we would want logic to determine the delta of views since the start of the activation, and add that to the actors' sum. -### Dataflow model (static and stream) +### Dataflow model -The dataflow model has its roots in functional programming. -Some languages that use this model are: +In the dataflow model, programs are expressed as transformations on data. +Given a set of input data, programs are constructed as a series of transformations and reductions. +Computation is data-centric, and expressed easily as a directed acyclic graph (DAG). +Unlike the DSM and actor models, processes are not exposed to the programmer. +Rather, the programmer designs the data transformations, and a system is responsible for initializing processes and distributing work accross a system. -* Multilisp -* MapReduce (Spark, Hadoop, etc.) -* RDD -* Dryad, DryadLinq +#### Multilisp () +#### MapReduce () +#### DryadLINQ () ### Which is best? Why? -- cgit v1.2.3