gpt4 book ai didi

ssh - 无法使用GNU并行在多个节点上运行PBS脚本

转载 作者:行者123 更新时间:2023-12-02 14:00:53 35 4
gpt4 key购买 nike

我一直试图在PBS脚本中使用多个节点来运行几个独立的作业。每个作业应该使用8个核心,集群中的每个节点都具有32个核心。因此,我希望每个节点运行4个作业。我的PBS脚本如下。

#!/usr/bin/env bash
#PBS -l nodes=2:ppn=32
#PBS -l mem=128gb
#PBS -l walltime=01:00:00
#PBS -j oe
#PBS -V
#PBS -l gres=ccm

sort -u $PBS_NODEFILE > nodelist.dat
#cat ${PBS_NODEFILE} > nodelist.dat

export JOBS_PER_NODE=4

PARALLEL="parallel -j $JOBS_PER_NODE --sshloginfile nodelist.dat --wd $PBS_O_WORKDIR"
$PARALLEL -a input_files.dat sh test.sh {}
input_files.dat包含作业文件的名称。我已成功使用此脚本在一个节点上运行并行作业(在这种情况下,我从脚本中删除了 --sshloginfile nodelist.datsort -u $PBS_NODEFILE > nodelist.dat)。但是,每当我尝试在多个节点上运行此脚本时,都会出现以下错误。 ssh: connect to host 922 port 22: Invalid argument ssh: connect to host 901 port 22: Invalid argument ssh: connect to host 922 port 22: Invalid argument ssh: connect to host 901 port 22: Invalid argument在此, 922901是与分配的节点相对应的数字,并包含在 nodelist.dat ($PBS_NODEFILE)文件中。
我尝试搜索此问题,但找不到很多东西,因为其他人似乎对 --sshloginfile参数都做得很好,所以我不确定这是否是系统特定的问题。

编辑:

正如@Ole Tange在回答和评论中提到的那样,我需要修改$ PBS_NODEFILE生成的“节点号”,我将在PBS脚本中以以下方式进行此操作。
# provides a unique number (say, 900) associated with the node.
sort -u $PBS_NODEFILE > nodelist.dat

# changes the contents of the nodelist.dat from "900" to "username@w-900.cluster.uni.edu"
sed -i -r "s/([0-9]+)/username@w-\1.cluster.uni.edu/g" nodelist.dat

我验证了 nodelist.dat仅包含一行,即 username@w-900.cluster.uni.edu

编辑2:

似乎集群的体系结构是导致我遇到的错误的原因。我在不同的群集(例如cluster_2)上运行了相同的脚本,并且完成时没有任何错误。用我的系统管理员的话来说,它在cluster_2上工作的原因是:“cluster_2是一台机器。一旦开始工作,您实际上就象您期望的那样处于PBS工作的头节点。”

最佳答案

GNU Parallel将变量$PARALLEL用作选项。因此,当您同时使用它时,可能会引起混乱。但是,这似乎不是根本原因,但是请帮忙,使用另一个变量名(或按照手册页中的说明使用它)。

这里的问题似乎是ssh,它将看不到数字作为主机名:

$ ssh 8
ssh: connect to host 8 port 22: Invalid argument

添加域名,然后 ssh会将其视为主机名:
$ ssh 8.pi.dk
<<connects>>

如果您是我,我将与您的集群管理员联系,询问是否可以将工作程序节点重命名为w-XXX,其中XXX是其当前名称。

关于ssh - 无法使用GNU并行在多个节点上运行PBS脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54245735/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com