我想构建一个集群以获得更高的性能,并用于志愿计算。我找到了一些志愿者计算平台,例如BOINC L,Beowulf集群。我对Apache Hadoop Spark集群有点熟悉。这些集群平台中的某些平台将不得不使用MPI和其他并行处理库。但是,我没有任何并行预编译的经验。而且,我无法为集群编写并行程序,因为我想在集群上进行网络仿真,图像处理,编程测试等。 因此,我发现了一个集群框架,该框架可以运行在节点之间分布的任何应用程序。我发现openMosix集群框架将适合我的要求,但是我发现它停止了集群开发。 因此,我想向高层征求一些建议,指导我在执行任何应用程序时哪种集群框架适合提高处理能力。 非常感谢。
答案 0 :(得分:0)
(披露:我是BOINC开发人员之一,我还管理多个BOINC项目)
只要您的应用程序是可并行化的(例如,您可以拆分数据集或修改应用程序的命令行参数以拆分搜索空间),就可以使用多个简单选项。如果您的节点运行Linux,并且可以通过SSH进入它们,则像GNU Parallel这样的简单工具可能会合适。
BOINC通常更适合于志愿者计算,聚合异构资源。它具有一些学习曲线,并且侧重于安全性(例如,必须对平台上运行的所有代码进行签名,从而使“任何”应用程序的部署变得复杂)。如果您正在看一个真正的集群风格使用,您将在其中运行数十种不同的应用程序,那么BOINC可能不适合您(请注意,存在一些将应用程序二进制文件作为工作的一部分提交的方法,但这并不简单)。
如果您决定尝试使用BOINC,则可能是较旧的Virtual machine with BOINC server preinstalled,或者只是get a latest release of the code from Github。