If you are using Network.Transport
in your application, or if you are writing (or interested in writing) Network.Transport
support for another protocol, please add a brief description to this page so that we can coordinate the efforts.
Haskell Distributed Parallel Haskell is a shallowly
embedded parallel extension of Haskell that supports high-level
semi-explicit parallelism. HdpH has a distributed memory model, that
manages computations on more than one multicore node. In addition
high-level semi-explicit parallelism is supported by providing
spark
for implicit task placement, alleviating the job of dynamic
load management to HdpH. Explicit task placement is supported with
the pushTo
primitive. Lastly, HdpH supports the node <-> node
transfer of polymorphic closures. This enables the definition of
both evaluation strategies and algorithmic skeletons by using a
small set of polymorphic coordination primitives.
The communication layer in HdpH adopts the Network.Transport.TCP
realization of the network-transport API. The HdpH implementation is
on hackage and is open source on GitHub.
The CCI project is an open-source communication interface that aims to provide a simple and portable API, high performance, scalability for the largest deployments, and robustness in the presence of faults. It is developed and maintained by a partnership of research, academic, and industry members.
Parallel Scientific is contributing with CCI development and promoting its adoption as a portable API. We have developed Haskell bindings for the CCI alpha implementation, and are keen to have a CCI backend for Cloud Haskell as resources allow.