<分区>
我们的目标是在集群上实现一个分布式系统,该系统将执行具有大量存储 I/O 的基于资源消耗的基于图像的计算,具有以下特点:
- 有一个专用的管理器计算机节点和最多 100 个计算节点。集群必须易于扩展。
- 它是围绕工作任务概念构建的。一个作业可能有 1 到 100,000 个任务。
- 由用户在管理器节点上启动的作业会导致在计算节点上创建任务。
- 任务会即时创建其他任务。
- 有些任务可能会运行几分钟,而其他任务可能需要几个小时。
- 任务根据依赖层次结构运行,可以动态更新。
- 作业可能会暂停并稍后恢复。
- 每项任务都需要 CPU(内核)、内存和本地硬盘空间等特定资源。经理在安排任务时应该意识到这一点。
- 任务将他们的进度和结果反馈给经理。
- 经理知道任务是存活还是挂起。
我们发现 Windows HPC Server 2008 (HPCS) R2 在概念上非常接近我们的需求。但是,也有一些严重的缺点:
- 随着任务数量的增加,任务的创建速度呈指数级下降。提交数千个以上的任务,时间上难以承受。
- 任务无法将其进度报告给经理,只有工作可以。
- 在任务运行期间没有与任务的通信,这使得无法检查任务是否正在运行或可能需要重新启动。
- HPCS 只知道节点、CPU 内核和内存作为资源单元。我们不能引入我们自己的资源单元(如可用磁盘空间、自定义硬件设备等)。
这是我的问题:有没有人知道和/或有过可以帮助我们的分布式计算框架的经验?我们正在使用 Windows。