
Programming with distributed functional futures - zeckalpha
http://www.macs.hw.ac.uk/~rs46/posts/2015-09-07-distributed-functional-futures.html
======
tel
For the interested, here's the summary from the bottom of the page

 _Dataflow can be used for pipelined parallelism, which is often exploited on
fine grained concurrent embedded hardware such as FPGAs. The dataflow
programming style can also be used for task parallel scheduling on CPUs. There
are a number of Haskell libraries for shared-memory parallel dataflow
programming, including monad-par for deterministic and lvish for quasi-
deterministic parallelism. There are others that support distributed-memory
parallel dataflow programming, including the HdpH DSLs, and the Cloud Haskell
Platform library, which closely resembles the Erlang Remote Procedure Call
functionality. They don’t share a common notation for creation of and
operations on futures, and this post gives their correspondence._

------
rdtsc
I am not sure about Erlang's RPC and futures. The feature is there, but I am
not sure how popular or known that is.

Distributed programming usually involves sending messages between processes.
So you might spawn a process locally and then send a message to a remote
process and wait for response. But heave "future/promise" use not a common
pattern as far as I know.

------
tonyg
I'm confused by the claim that "Erlang’s RPC library supports multiple node
distribution, but the Erlang VM does not support automatic load balancing."

Erlang's VM definitely runs each node on as many cores as are available. It
has done so for several years now. For example, running his fib_rpc program on
a single node on an 8-core machine using Erlang R18 happily consumes all
available CPU on all cores.

Perhaps he's saying that there is no automatic support for placing tasks on
particularly underutilized nodes?

~~~
zeckalpha
My understanding is that load is balanced across CPUs within a node but load
is not balanced between nodes.

------
agumonkey
His other blog articles are also pretty interesting :
[http://www.macs.hw.ac.uk/~rs46/posts/2014-10-23-leaky-
interp...](http://www.macs.hw.ac.uk/~rs46/posts/2014-10-23-leaky-
interpreters.html)

laziness leaks.

------
platz
related: [https://groups.google.com/forum/#!forum/flow-based-
programmi...](https://groups.google.com/forum/#!forum/flow-based-programming)

