如何在作业开始之前将数据复制到特定的HPC节点而又不知道它是哪个节点

时间:2018-11-28 14:09:35

标签: jobs hpc pbs

由于HPC的特殊配置,运行代码的最佳方法是将数据从头节点复制到特定节点上的硬盘以进行分析(我们一次使用一个节点)。

因为PBS将节点动态分配给作业,所以我事先不知道应该将数据复制到哪个节点。我想提取有关将在哪个节点上运行作业的信息,并将其动态插入到脚本中。

因此,当我的脚本启动时,它将首先将数据从头节点复制到可用节点之一,然后在已将数据复制到的特定节点上对该数据运行作业脚本。

这完全可行吗?我以为可以使用$ PBS_NODEFILE,但是它仅包含可用节点列表,而不包含“当前选择的”节点列表。我查看了PBS选项和特殊变量,但没有明显的方法可以应用这种方式。

请澄清一下,我无法 先验决定要复制到哪个节点并将其硬编码到我的作业脚本中(我知道如何执行此操作,但并非如此)我想要的是)。

欢迎任何建议:-) kJ

1 个答案:

答案 0 :(得分:0)

我找到了保存有关节点信息的正确环境变量-它是$ HOSTNAME。因此,在我的脚本中,我可以声明(除其他外)

ssh $HOSTNAME

并进入该节点。

或者我可以使用以下方式直接将内容直接复制到节点上/从节点复制

scp input $HOSTNAME:/local/
scp $HOSTNAME:/local/ output

及其变体。

相关问题