我正在寻找的是以下任何/所有内容:
......并且不想重新发明轮子。
C ++库,bash脚本,独立程序......欢迎所有人。
如果你举一个软件的例子,那么请告诉我们它有什么功能。
答案 0 :(得分:4)
查看Spread Toolkit,一个C / C ++组通信系统。它允许您以允许您重新平衡分布式工作负载的方式检测节点/进程故障和恢复/启动。
答案 1 :(得分:2)
您正在寻找的是“工作调度程序”。市场上有许多工作调度员,这些是我熟悉的:
要支持消息传递,请参阅MPI规范。 SGE完全支持基于MPI的分发。
答案 2 :(得分:1)
根据您的应用要求,我会查看BOINC基础设施。他们在最新版本中实现了一种客户端/服务器通信形式,并不清楚您需要什么样的通信方式。他们的API在C中,我们很容易用C ++编写它的包装器。
BOINC的另一个优势是它可以扩展用于大型分布式计算项目,如SETI或Rosetta @ Home,因此它支持诸如验证,作业分配以及针对不同平台管理不同应用程序版本等内容。
这是链接:
答案 3 :(得分:1)
有Hadoop。它有Map Reduce,但我不确定它是否还有我需要的任何其他功能。有人知道吗?
答案 4 :(得分:0)
您确实在寻找“工作安排员”。节点“静态”注册到作业调度程序。这允许作业调度程序检查节点并确定核心数,RAM,可用的暂存盘空间,操作系统等等。所有这些信息都可用于为作业选择所需的资源。
作业调度程序还提供群集的基本运行状况监视。已关闭的节点将自动从可用节点列表中删除。正在运行作业的节点(通过调度程序)也将从可用节点列表中删除。
SLURM是资源经理&您可能会考虑的作业调度程序。 SLURM具有LSF和PBSPro的集成挂钩。几个MPI实现是“SLURM aware”,可以使用/设置环境变量,允许MPI作业在SLURM分配给它的节点上运行。