过去几年中,网上有几篇关于在家里建立计算机集群的文章- 例如在这里。
由于价格低廉,Pi打动我成为构建/测试此类事物的好平台。这样的“通用”指南应该很容易转移到Pi上,还是在尝试此类项目时我应该特别注意些什么?
过去几年中,网上有几篇关于在家里建立计算机集群的文章- 例如在这里。
由于价格低廉,Pi打动我成为构建/测试此类事物的好平台。这样的“通用”指南应该很容易转移到Pi上,还是在尝试此类项目时我应该特别注意些什么?
Answers:
我建议查看Dispy-分布式计算python模块。
要从PC(服务器-假定IP为192.168.0.100
)在多个Raspberry Pi的(节点)上运行程序:
在每个RasPi上安装操作系统
将每个RasPi附加到您的网络。查找IP(如果是动态的)或设置静态IP。
(假设您有三个节点,它们的IP为192.168.0.50-52
)
设置Python(如果尚未安装),请安装dispy
,然后dispynode.py -i 192.168.0.100
在每个RasPi上运行。这将告诉dispynode从服务器接收作业信息。
在PC(服务器)上,安装dispy
,然后运行以下python代码:
#!/usr/bin/env python
import dispy
cluster = dispy.JobCluster('/some/program', nodes=['192.168.0.50', '192.168.0.51', '192.168.0.52'])
您还可以替换/some/program
为python函数-例如compute
。
您还可以dispy
通过添加以下内容来包括依赖项,例如python对象,模块和文件(这些将转移到每个节点)depends=[ClassA, moduleB, 'file1']
您应该意识到已经完成的工作-甚至有一个RasPi Boxen簇的名称。在嵌入式Linux维基说,一个树莓被定义为“一个Beowulf集群树莓裨设备”。树莓派家酿有一些职位 约 荆棘,并且看 也该基金会自身的论坛。
南安普敦大学的一些人整理了一个小组,并在http://www.southampton.ac.uk/~sjc/raspberrypi/上详细介绍了他们的工作。
这是完全可能的,但是最大的问题是可实现性。我不仅认为这是可行的想法,而且对便携式并行计算的想法很有用。就细节而言,像FORTRAN和C ++这样的编码语言将是最好的。
查看beowulf.org,了解有关集群计算的更多信息
这是对Guido Garcia上面关于“ dispy”的帖子的回复-我不知道如何回复他的帖子。
当一个程序('/ bin / ls')与'dispy'一起分发以并行执行时,客户端计算机上的该程序将被传输到每个节点(到'/ tmp')。这样,就可以在没有NFS或某些共享目录的情况下传输客户端计算机上用户开发的程序。仅当节点和客户端体系结构兼容时,此方法才适用于二进制程序。在您的情况下,我猜测客户端架构与远程节点的架构不同,并且一个节点无法执行从客户端传输的二进制“ / bin / ls”。如果要在每个节点上执行/ bin / ls,可能更容易编写Python函数或程序来打印目录(例如,使用os.listdir)并分发该目录而不是二进制可执行文件。
如果您需要功能齐全的控制面板,还可以访问http://pi.interworx.com。他们在此页面上有有关如何复制的说明,但是您必须耐心等待,因为该子域本身正在从Rasberry Pi群集中运行。这是一张照片,以防它掉落: