windows - 请推荐 Microsoft HPC 的替代方案

标签 windows distributed-computing hpc cluster-computing

<分区>

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

  1. 有一个专用的管理器计算机节点和最多 100 个计算节点。集群必须易于扩展。
  2. 它是围绕工作任务概念构建的。一个作业可能有 1 到 100,000 个任务。
  3. 由用户在管理器节点上启动的作业会导致在计算节点上创建任务。
  4. 任务会即时创建其他任务。
  5. 有些任务可能会运行几分钟,而其他任务可能需要几个小时。
  6. 任务根据依赖层次结构运行,可以动态更新。
  7. 作业可能会暂停并稍后恢复。
  8. 每项任务都需要 CPU(内核)、内存和本地硬盘空间等特定资源。经理在安排任务时应该意识到这一点。
  9. 任务将他们的进度和结果反馈给经理。
  10. 经理知道任务是存活还是挂起。

我们发现 Windows HPC Server 2008 (HPCS) R2 在概念上非常接近我们的需求。但是,也有一些严重的缺点:

  1. 随着任务数量的增加,任务的创建速度呈指数级下降。提交数千个以上的任务,时间上难以承受。
  2. 任务无法将其进度报告给经理,只有工作可以。
  3. 在任务运行期间没有与任务的通信,这使得无法检查任务是否正在运行或可能需要重新启动。
  4. HPCS 只知道节点、CPU 内核和内存作为资源单元。我们不能引入我们自己的资源单元(如可用磁盘空间、自定义硬件设备等)。

这是我的问题:有没有人知道和/或有过可以帮助我们的分布式计算框架的经验?我们正在使用 Windows。

最佳答案

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

关于windows - 请推荐 Microsoft HPC 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3149131/

相关文章:

c# - 给定 IntPtr 句柄,更改窗口背景颜色

windows - 每次我使用 vagrant up 时,Vagrant 都会重置 .vagrant 目录

java - 一种将共享资源分配给多个节点中的一个节点的分布式算法

distributed-computing - 原子广播和原子多播有什么区别?

python - Python 如何在我被 LSF 分配了 4 个核心的集群上看到 12 个 cpu?

c - 如何在 Opensuse 12.2 上构建 Gotoblas2

c++ - 使用 g++ 在 Windows 上生成文件,链接库

python - 乘以 Django Apache 服务器

tcp - 为什么 Windows7 上的 TCP/IP 需要 500 次发送才能预热? (w10,w8 证明没有受到影响)

performance - 优化 GPU 利用率处理离散图像的技术