ska*_*tek 5 parallel-processing erlang cuda
假设我们的Erlang软件有一个"本质上并行"的问题需要解决.我们有很多并行进程,每个进程都执行顺序代码(不是数字运算),我们投入的CPU越多越好.
我听说过Erlang的CUDA 绑定,但在看了Kevin Smith的演示之后我不确定它是否是解决方案:pteracuda缓冲区的全部目的是将一个困难的数字运算任务分配给缓冲区并获得结果.不可能使用GPU的处理器来为Elrang的进程提供服务.(我对吗?).
另一方面,多核CPU非常昂贵(8核CPU价格从300美元起).因此,要构建一个10机器的Erlang并行处理"集群",您必须在CPU上花费至少3000美元.
因此,问题是:可以使用哪种经济实惠的CPU或GPU为并行Erlang软件构建"服务器集群"?
2009 年,乌普萨拉大学有一个名为 LOPEC 的学生项目就是为了实现这一目标,该项目与 Erlang Solutions(当时仍称为 Erlang Training & Consulting,简称 ETC)合作。
我在他们的最终项目报告中找不到任何幻灯片,但这是他们在 2009 年 Erlang 用户大会上展示的海报:http://www.it.uu.se/edu/course/homepage/projektDV/ht09/ ETC_海报.pdf
部分代码似乎位于此处:https://github.com/burbas/LoPECv2(用户 burbas 是学生之一),但奇怪的是不完整。您可以向 burbas 询问更多信息。
当然还有诺基亚的 Disco 项目: http: //discoproject.org/
在这两种情况下,我认为您需要编写一个 C 或 Python 存根来在客户端上运行以与 GPU 对话(或者您可以在客户端上运行带有 CUDA 绑定的 Erlang);上述框架只是帮助您分配工作量并收集结果。