我正在寻找的是以下任何/所有内容:
- 工人故障的自动发现(例如计算机关闭)
- 检测给定IP地址范围内所有正在运行的(linux)PC(计算机开启)
- ...和汽车工人产卵(ping + ssh?)
- 负载平衡,以便工作人员不会减慢其他进程(很好?)
- 某种形式的消息传递
...并且不想重新发明轮子。
C++ 库、bash 脚本、独立程序……都欢迎。
如果您举一个软件示例,请告诉我们它具有上述哪些功能。
我正在寻找的是以下任何/所有内容:
...并且不想重新发明轮子。
C++ 库、bash 脚本、独立程序……都欢迎。
如果您举一个软件示例,请告诉我们它具有上述哪些功能。
查看Spread Toolkit,一个 C/C++ 组通信系统。它将允许您以允许您重新平衡分布式工作负载的方式检测节点/进程故障和恢复/启动。
根据您的应用要求,我会查看 BOINC 基础架构。他们在最新版本中实现了一种客户端/服务器通信形式,目前尚不清楚您需要哪种形式的通信。他们的 API 是用 C 语言编写的,我们很容易用 C++ 为它编写了包装器。
BOINC 的另一个优点是它旨在为大型分布式计算项目(如 SETI 或 Rosetta@Home)进行扩展,因此它支持验证、作业分配和管理不同平台的不同应用程序版本等内容。
这是链接:
有Hadoop。它有 Map Reduce,但我不确定它是否有我需要的任何其他功能。有人知道吗?
您确实在寻找“作业调度程序”。节点“静态”注册到作业调度程序。这允许作业调度程序检查节点并确定核心数、RAM、可用暂存盘空间、操作系统等等。所有这些信息都可用于选择工作所需的资源。
作业调度程序还提供集群的基本健康监控。关闭的节点会自动从可用节点列表中删除。正在运行作业的节点(通过调度程序)也会从可用节点列表中删除。
SLURM是您可能会考虑的资源管理器和作业调度程序。SLURM 具有 LSF 和 PBSPro 的集成挂钩。一些 MPI 实现是“SLURM 感知”的,并且可以使用/设置环境变量,这些环境变量将允许 MPI 作业在 SLURM 分配给它的节点上运行。