【问题标题】:Standard method for file distribution prior to MPI executionMPI 执行前文件分发的标准方法
【发布时间】:2012-01-14 07:55:25
【问题描述】:

总的来说,我是 MPI 和 HPC 领域的新手。我设计了一个使用 MPI 实现的分布式算法。每个 MPI 进程访问一组文件,每个 MPI 进程都不同。在我的计算机上,这已经有效,因为文件已经存在。

现在问题来了,我想在多台计算机上运行程序,因为我需要手动将文件传输到每个工作站,然后运行我的程序。这对于一两台计算机来说是可以的,因为我可以手动完成,但是如果我有 1000 台计算机并且我想在运行我的程序之前将文件分发到每台计算机会发生什么。

在运行实际 MPI 程序之前,是否有一种普遍可接受/标准的方式将文件从集群中的主机节点传输到所有目标节点?

更新 例如,Matlab 有一个名为 FileDependencies 的批量分发函数参数,它在主机上压缩相关文件并将它们分发到节点,然后将它们解压缩到这些机器上的文件结构中。

【问题讨论】:

  • 听起来您需要某种集群或网格中间件。您要问的是 globus 或 condor 之类的东西吗?

标签: file mpi cluster-computing


【解决方案1】:

通常使用共享文件系统,如 NFS。

编辑:MPI 通常用于需要紧密耦合(高性能计算)的并行程序。听起来您的任务之间没有耦合,您只想一次运行很多。这种类型的计算称为高吞吐量计算,或令人尴尬的并行计算。 HTC 使用最广泛的平台是Condor,它甚至内置了文件传输机制(只需列出您要传输的文件,它们最终会在您的执行主机上)。

【讨论】:

  • 我将部署的节点位于至少 3 个不同城市(同一个国家)的不同网络上。我希望有一种更标准的文件分发方式......
  • 如果您的任务在不同的网络上运行,那么 MPI 可能不适合。您是否看过 HTC 解决方案,例如 Condor? research.cs.wisc.edu/condor PS:Condor 内置了文件传输机制。
  • 这基本上就是我正在寻找的答案。您能否更新您的答案以便我接受?
猜你喜欢
  • 2016-01-10
  • 1970-01-01
  • 2016-07-22
  • 1970-01-01
  • 2014-03-28
  • 1970-01-01
  • 1970-01-01
  • 2017-08-22
  • 2016-03-01
相关资源
最近更新 更多