2017-04-19 12 views
0

在我的实验室中,我们有几台服务器用于模拟程序,但它们独立工作。现在我想将它们组合成一个使用MPICH进行通信的集群。但是存在一个问题,就是这些服务器有不同的操作系统。其中一些是Redhat,其中一些是Ubuntu。并且在MPICH的主页上,我看到这两种不同操作系统的下载站点不同,那么是否可以建立一个具有不同操作系统的集群?以及如何做到这一点?在运行不同操作系统的服务器上设置高性能计算集群

我不想重新安装这些服务器的原因是数据太多,当我提出这个问题时,他们正在使用。

回答

1

让这个工作正常是不可行的。您应该能够获得手动安装在不同发行版上的相同版本的MPI实现。他们甚至可能会相互交谈。但是,尽快尝试运行实际应用程序,使用动态库时,您将遇到不同版本的共享库glibc等问题。您将尝试静态链接所有内容,或为不同的分发版构建不同的二进制文件。在一天结束的时候,你会追逐一个又一个问题。

作为一个侧面节点,将某些服务器与MPI结合在一起不构成高性能计算集群。例如,HPC系统具有复杂的高性能互连和高性能并行文件系统。

另请注意,您的典型HPC应用程序将在异构硬件上运行不佳(因为每个节点具有不同的CPU /内存配置)。

+0

如果我的程序可以分成不同的循环,每个循环可以单独执行,该怎么办?我只需要将初始值传递给不同的从节点,然后每个节点不需要其他通信。最终结果可以写入每个从节点。这个框架可以工作吗? – zmwang

+0

问题不在于工作的分解,而在于基础设施 - 这会使得尝试这样做非常痛苦。还有其他分布式计算框架更适用于异构软硬件环境。 – Zulan

+0

你对这个异构环境有什么想法吗? – zmwang

相关问题