Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Programming with distributed functional futures (hw.ac.uk)
60 points by zeckalpha on Sept 7, 2015 | hide | past | favorite | 6 comments


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.


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.


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?


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


His other blog articles are also pretty interesting : http://www.macs.hw.ac.uk/~rs46/posts/2014-10-23-leaky-interp...

laziness leaks.





Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: