slurm:Slurm作业的源代码及其依赖文件应该存储在哪里?

时间:2018-05-18 11:44:13

标签: slurm

[Q] 我的源代码大小为10 MB,但它取决于1GB的文件。我只是想知道应该在哪里存储Slurm作业的源代码及其依赖文件?如果它在管理员的手上,建议采用哪种方法?有没有关于此的文件?

  • 案例1:存储在控制器的本地存储中? (如果是,计算注释会将源代码捕获到其本地存储中吗?)
  • 案例2:存储在计算节点的本地存储上?
  • 案例3:存储在共享内存中,所有计算节点和控制器都可以访问?

例如,我有一个控制器,10个计算后面运行的节点。

case-1)如果作业的源代码存储在控制器的存储中,当我们通过sbatch提交作业时,源代码是否转移到计算节点和作业时更新任何将写回控制器本地存储的文件?因此,控制器和计算节点之间应该存在文件传输,这可能具有较高的I / O使用率。

case-2)如果有多个计算节点,因为当我提交我的作业时,他们是动态选择的,我应该将源代码写入所有本地存储吗?

case-3),是否所有计算节点都可以快速访问共享内存?

1 个答案:

答案 0 :(得分:1)

计算群集通常具有用户可访问的多个文件系统(存储文件的存储位置),具有不同的范围和用途。例如:

  • a' home'文件系统,由所有计算节点共享,专为稳定性(备份,高可用性等)而构建,用户可以在其中存储代码,配置文件等。

  • a' scratch'文件系统,由所有计算节点共享,为性能而非稳定性而构建(并行文件系统,无备份等)。

  • a' TMP'文件系统,所有节点都不同,用于临时文件,每次作业后都是典型的清理

对于10节点集群和一个控制器,您应该使用NFS将最小值从控制器导出到计算节点。您可以将所有文件存储在那里。如果作业只在开头按顺序读取数据,那么这应该没问题。

如果作业在整个作业中随机读取数据,则可以将数据复制到计算节点的本地磁盘上。或者,您可以在计算节点上安装BeeGFS文件系统,以将所有磁盘收集到一个系统中,以便可以从所有节点访问这些文件,并为每个节点配置重复文件。

如果作业在其生命周期内随机写入大量数据,则应写入本地节点存储,然后在作业结束时复制回主文件系统。