构建Erlang服务器群(用于业余项目)最便宜的方法是什么?



假设我们要用Erlang软件解决一个"本质上并行"的问题。我们有很多并行进程,每个进程都执行顺序代码(不是数字运算),我们给它们投入的cpu越多越好。

我听说过Erlang的CUDA绑定,但在看了Kevin Smith的演讲后,我不确定这是解决方案:pteracuda缓冲区的全部目的是将一个困难的数字运算任务分配给缓冲区并获得结果。不可能使用GPU的处理器来服务Elrang的进程。(我说的对吗?)。

另一方面,多核CPU非常昂贵(8核CPU的价格从300美元起)。因此,要构建一个10台机器的Erlang并行处理"集群",你必须至少在cpu上花费3000美元。

所以,问题是:哪种价格合理的CPU或GPU可以用于构建并行Erlang软件的"服务器集群"?

2009年乌普萨拉大学(Uppsala University)有一个名为LOPEC的学生项目,该项目与Erlang Solutions(当时仍称为Erlang Training &咨询,或简称ETC)。

我找不到他们最终项目报告的幻灯片,但这是他们在2009年Erlang用户大会上展示的海报:http://www.it.uu.se/edu/course/homepage/projektDV/ht09/ETC_poster.pdf

部分代码似乎存在于这里:https://github.com/burbas/LoPECv2(用户burbas是学生之一),但奇怪的是不完整。你可以问burbas更多的信息。

当然还有Nokia的Disco项目:http://discoproject.org/

在这两种情况下,我认为你需要写一个C或Python存根在客户端上运行,以与GPU通信(或者你可能在客户端上运行带有CUDA绑定的Erlang);以上框架只是帮助您分配工作负载和收集结果。

我会检查Amazon EC2。您可以以非常便宜的价格租用服务器,并且如果有工作要做,可以立即启动服务器。你也可以出价非常便宜的现货实例。这至少为您提供了在多个机器上测试代码的好方法,并且如果您以后想要购买硬件,还可以进行一些测试。它们也有可用的GPU实例(以更昂贵的价格),这些实例拥有Tesla GPU和四核超线程处理器。这里是所有可用类型的列表。

下面是我找到的一个简单指南,可以帮助您开始设置一个主节点,如果需要,可以启动其他节点。

最新更新