选择用于实现分布式消息传递算法的编程语言
基本上,我想实现以下算法并分析使用这些算法构建的系统在不同条件下的行为。
- Gossip 协议
- 多个 paxos
- 一致性哈希
我的兴趣在于这些算法。我基本上是在寻找一种编程语言,可以让我快速编写这些算法并深入理解这些算法。
我应该选择哪种语言? Java、Scala、Erlang 或其他任何东西。
目前,我了解 Java 和 C++。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以尝试在 Erlang 中实现协议。
You could try implementing the protocols in Erlang.
哦是的 !你可以通过查看这些来开始 Erlang 编程:
上面的链接将为您提供您可能需要的所有 Erlang 编程资源。不过,我建议您从
Joe Armstrongs 编程 Erlang 教科书
开始,在阅读时,使用以下网站:学习一些 erlang,大有裨益
(参考文献 1)以上)作为进一步理解数据结构的参考。您可以从这里下载 Erlang:Erlang 下载官方页面。
您可能需要其他链接和资源(应用程序、库等),其中大部分已在此处建立索引:Erlang/OTP .com 网站。
有时,您可以随时在 Stackoverflow 上提出任何问题,也可以从 sourceforge 搜索工具和库。
Oh yes ! you can start Programming Erlang by looking at these:
Those links above will provide you with resources to all the Erlang programming you may need. I however suggest that you begin with
Joe Armstrongs Programming Erlang Text Book
, and as you read it, use the website:Learn you some erlang for great good
(reference No. 1 above) as a reference for further understanding the data structures.You can download Erlang from here: Erlang Download official Page.
You may need other links and resources (applications, libraries e.t.c.), most of which are indexed here: Erlang/OTP .com website.
Occasionally, you can always ask any question on Stackoverflow here, or you can search for tools and libraries from sourceforge.
所有这些协议都已在各种 Erlang 项目中实现。看
Mnesia,Riak,CouchDB,Scalaris 了解更多详细信息(并非每个项目中的所有协议)。我无法想象比 Erlang 更友好的环境来进行此类协议实验。
All of those protocols was already implemented in various Erlang projects. See
Mnesia, Riak, CouchDB, Scalaris for more details (not all protocols in each project). I can't imagine more friendly environment for this kind of protocol experiments than Erlang.
您决定好您的消息传递库了吗?如果您对 MPI 感兴趣,可以使用它的 java 和 C++ 版本。
MPI 为您执行许多工作,例如广播消息和检索回复,这在您的算法中至关重要。因此,我建议您找到适合 C++ 或 Java 的 MPI 版本并开始工作。
看一下:
Have you decided about your message passing library? If you are interested in MPI, both java and C++ editions of it are available.
MPI performs lots of jobs for you, such as broadcasting a message and retrieving the replies, which is essential in your algorithms. As a result, I recommend you to find a proper version of MPI for C++ or Java and kick off the work.
Take a look at: