请推荐Microsoft HPC的替代方案

时间:2010-06-30 12:15:51

标签: windows distributed-computing hpc cluster-computing

我们的目标是在集群上实现分布式系统,该集群将使用大量存储I / O执行资源消耗的基于图像的计算,具有以下特征:

  1. 有一个专用的管理器计算机节点和多达100个计算节点。群集必须易于扩展。
  2. 围绕工作任务概念而建。一份工作可能有一到十万个任务。
  3. 由用户在管理器节点上启动的作业会导致在计算节点上创建任务。
  4. 任务即时创建其他任务。
  5. 某些任务可能会运行几分钟,而其他任务可能需要几个小时。
  6. 任务根据依赖关系层次结构运行,可以动态更新。
  7. 作业可能会暂停并稍后恢复。
  8. 每个任务都需要CPU(内核),内存和本地硬盘空间方面的特定资源。在安排任务时,经理应该意识到这一点。
  9. 任务将他们的进度和结果告诉经理。
  10. 经理知道任务是否存在或被绞死。
  11. 我们发现Windows HPC Server 2008(HPCS)R2的概念与我们的需求非常接近。但是,有一些关键的缺点:

    1. 随着任务数量的增加,任务的创建速度呈指数级增长。提交数以千计的任务在时间上是无法忍受的。
    2. 任务无法将其进度报告给经理,只有工作可以。
    3. 在运行期间没有与任务进行通信,这使得无法检查任务是否正在运行或是否需要重新启动。
    4. HPCS仅将节点,CPU核心和内存视为资源单元。我们不能引入自己的资源单元(如可用磁盘空间,自定义硬件设备等)。
    5. 这是我的问题:有没有人知道和/或有过分布式计算框架的经验可以帮助我们?我们正在使用Windows。

8 个答案:

答案 0 :(得分:6)

我会看一下Condor高吞吐量计算项目。它支持Windows(以及Linux和OSX)客户端和服务器,使用DAGman处理任务之间的复杂依赖关系,并且可以暂停(甚至移动)任务。我有基于Condor的系统经验,可以扩展到大学校园内的数千台机器。

答案 1 :(得分:3)

Platform LSF将完成您需要的一切。它在Windows上运行。它是商业的,可以在支持下购买。

是。 1.有一个专用的经理计算机节点和最多100个计算节点。群集必须易于扩展。

2.它围绕工作任务概念构建。一份工作可能有一到十万个任务。

3.由管理员节点上的用户启动的作业会导致在计算节点上创建任务。

4.任务即时创建其他任务。

5.某些任务可能会运行几分钟,而其他任务可能需要几个小时。

6.任务根据依赖关系层次结构运行,可以动态更新。

7.作业可能会暂停并稍后恢复。

8.每项任务都需要CPU(核心),内存和本地硬盘空间方面的特定资源。在安排任务时,经理应该意识到这一点。

9.任务将其进度和结果告诉经理。

10.经理知道任务是否存在或被绞死。

答案 2 :(得分:0)

你看过Beowulf了吗?有大量的发行版可供选择,还有很多自定义选项。你应该能够找到满足你需求的东西......

答案 3 :(得分:0)

我会推荐Beowulf,因为Beowulf的行为更像是一台机器,而不是很多工作站。

答案 4 :(得分:0)

尝试gridgain。这应该使运行时添加节点变得非常容易,并且您可以使用jmx接口监视/管理集群

答案 5 :(得分:0)

如果您不介意在云中托管项目,可能需要查看Windows Azure / Appfabric。 AFAIK它允许您通过工作流分配您的作业,并且您可以动态添加更多的工作机器来处理您的作业,因为负载增加。

答案 6 :(得分:0)

您绝对可以使用Data Synapse Grid Server来解决此类问题。

  1. 有一个专用的管理器计算机节点和多达100个计算节点。群集必须易于扩展。 是的,经纪人可以轻松处理2000个引擎。
  2. 围绕工作任务概念而建。一份工作可能有一到100,000个任务。 是的,我已排队超过250,000个任务而没有问题。最终你的内存不足。
  3. 由用户在管理器节点上启动的作业将导致在计算节点上创建任务。的
  4. 任务即时创建其他任务。 可以这样做,虽然我不推荐这种模式
  5. 某些任务可能会运行几分钟,而其他任务可能需要数小时。的
  6. 任务根据依赖关系层次结构运行,可以动态更新。 是的,但我会在网格计算基础设施之外进行管理
  7. 作业可能会暂停并稍后恢复。的
  8. 每个任务都需要CPU(内核),内存和本地硬盘空间方面的特定资源。在安排任务时,经理应该意识到这一点。的
  9. 任务将他们的进度和结果告诉经理。的
  10. `10。经理知道任务是否存在或被绞死。的

答案 7 :(得分:-1)

你检查了SunGrid Engine吗?自从我使用它以来已经很长时间了,我从来没有将它用于它的全部功能,但这是我的理解。

  1. 有一个专用的管理器计算机节点和多达100个计算节点。群集必须易于扩展。的
  2. 围绕工作任务概念而建。一份工作可能有一到100,000个任务。 不确定
  3. 由用户在管理器节点上启动的作业将导致在计算节点上创建任务。的
  4. 任务即时创建其他任务。 我是这么认为的?
  5. 某些任务可能会运行几分钟,而其他任务可能需要数小时。的
  6. 任务根据依赖关系层次结构运行,可以动态更新。 不确定
  7. 作业可能会暂停并稍后恢复。 不确定
  8. 每个任务都需要CPU(内核),内存和本地硬盘空间方面的特定资源。在安排任务时,经理应该意识到这一点。 非常确定
  9. 任务将他们的进度和结果告诉经理。 非常确定
  10. ` 10.经理知道任务是否存在或被绞死。的