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

问题描述 投票:0回答:1

由于我们的HPC,运行我们的代码的最佳方式的特殊配置是将数据从一个headnode复制到硬盘驱动器在特定节点上运行的(我们使用一个节点时)进行分析。

由于PBS动态分配节点的工作,我不事先知道哪一个节点,我应该将数据复制到。我想提取哪个节点的作业将运行信息,并在我的脚本动态插入。

我的脚本启动,所以当它首先将数据从headnode复制到可用的节点之一,然后该数据被复制的特定节点上运行该数据的作业脚本。

这是可行的呢?我以为我可以用$ PBS_NODEFILE这一点,但它仅包含一个节点,而不会提供“当前选择”列表中选择一个。我通过PBS选项和特殊变量看了,但并没有什么明显的,可以以这种方式被应用。

只是为了澄清,我不能先验决定哪些节点复制到和硬编码到我的jobscript(我知道如何做到这一点,但它不是我想要的)。

任何建议表示欢迎:-)千焦

jobs hpc pbs
1个回答
0
投票

我发现它包含有关节点信息的权利,环境变量 - 这是$ HOSTNAME。所以在我的剧本我可以声明(除其他事项外)

ssh $HOSTNAME

并获得到节点。

或者,我可以从该节点复制的东西直接到/

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

和它们的变体。

© www.soinside.com 2019 - 2024. All rights reserved.