消息传递分布式算法的框架

时间:2014-03-30 15:15:39

标签: python haskell distributed distributed-computing

我最近参加了分布式计算课程,在那里我们学习了分布式算法,例如共识,领导者选举等等,现在我想实现其中的一些。 这些分布式算法是为拥有大量独立进程的系统而设计的:每个进程都运行给定算法的实例,并且进程可以通过发送消息(通过网络)相互通信。 这些消息包含一些序列化数据;像RPC这样的“花哨”功能也不是那么有趣。

在Python,Haskell,Clojure等高级级语言中是否有任何合理稳定的框架来实现这种消息传递类型的算法? (我知道Cloud Haskell,但此时它看起来很漂亮。)

1 个答案:

答案 0 :(得分:1)

Erlang绝对是您要走的路。发送消息直接构建在语言中,因此您不需要设置和学习任何其他框架。我正在攻读分布式系统硕士学位,在使用MPI进入Java或C之前,我们必须在Erlang中实现许多不同的算法。

语言是功能性的,具有类似Prolog的语法,如果您了解Prolog,这可能很奇怪。此外,它在每个平台(Windows,Linux,OS X)上都没有任何问题

关于erlang.org(http://www.erlang.org/doc.html)的文档已经非常好了,但如果你想在语法糖中有一个简短的速成课程,......你可以从我的主管那里读到一份文件:{{ 3}} - 这是一张包含37张幻灯片的pdf。之后,您应该能够编写第一个应用程序。