2016-10-12 5 views
1

gnu 병렬 GNU 병렬 (버전 20160922) 을 사용하여 많은 양의 단백질 도킹 작업 (UCSF Dock 6.7 사용)을 시작하려고합니다. 나는 각각 28-40 코어를 가진 수 십 개의 노드가있는 고성능 클러스터를 실행 중입니다. 이 시스템은 CentOS 7.1.1503을 실행하며 작업 관리를 위해 토크를 사용합니다.프로세서 당 하나의 병렬 작업 gnu

dock.n.d의 각 구성 파일을 클러스터의 코어 당 하나의 도크 실행 파일에 제출하려고합니다. 다음은 PBS 파일입니다.

#PBS -l walltime=01:00:00 
#PBS -N pardock 
#PBS -l nodes=1:ppn=28 
#PBS -j oe 
#PBS -o /home/path/to/pardock.log 

cd $PBS_O_WORKDIR 
cat $PBS_NODEFILE temp.txt 
#f=$(pwd) 
ls dock.in.d/*.in | parallel -j 300 --sshloginfile $PBS_NODEFILE "/path/to/local/bin/dock6 -i {} -o {}.out" 

위와 같이 단일 노드에서 정상적으로 작동합니다. 나는 여러 노드 전체의 (-l procs=300 포함) 300 개 프로세서, 말,까지 확장 할 때 나는 이러한 오류를 얻을 시작 : 너무 많은 로그인이 이유를 내가 이해하지 못하는 것은

parallel: Warning: ssh to node026 only allows for 99 simultaneous logins. 
parallel: Warning: You may raise this by changing /etc/ssh/sshd_config:MaxStartups and MaxSessions on node026. 

입니다. 각 노드는 28-40 코어만을 가지고 있으므로 $ PBS_NODEFILE에 지정된대로이 노드에서 어느 시점에서든지 28-40 개의 SSH 로그인 만있을 것으로 예상됩니다.

여기에 오해 또는 잘못하고있는 것이 있습니까? 이 정보를 얻기 위해 내가 제공 할 수있는 다른 정보 나 방향을 알려주십시오.

UPDATE

그래서 내 문제가 위의 -j 300의 조합 및 각 노드에서 각 코어에 대해 별도의 항목이 $PBS_NODEFILE의 사용이었다. 그래서 그 경우에는 -j 1을 사용해야합니다. 그러나 모든 작업은 단일 노드에서 실행되는 것 같습니다.

그래서 모든 코어를 활용하면서 코어 당 여러 작업으로 인해 과도한 수의 SSH 로그인을 생성하지 않고 gnu를 병렬로 노드간에 균형을 유지하는 방법을 묻습니다.

감사합니다.

답변

1

코어 수를 무시하고 각 서버에서 300 개의 작업을 실행하도록 GNU Parallel에 요청합니다.

대신보십시오 : 이것은 모든 시스템에서 코어 당 하나의 작업이 --jobs 100%로 설정됩니다

ls dock.in.d/*.in | parallel --sshloginfile $PBS_NODEFILE /path/to/local/bin/dock6 -i {} -o {}.out 

.

28/server1.example.com 
20/server2.example.com 
16/server3.example.net 

이 건너 GNU 병렬 강제 : 당신이 앞에 추가로 --sshloginfile에서 호스트 X/는 코어 수로 X를 강제로 할 수 있습니다 당신이 컴퓨터에 모든 코어를 사용하는 것이 허용되지 않는 경우

, 코어를 탐지하고 각각 대신 28, 20 및 16을 사용합니다. 이것은 -j 100%과 결합하여 다른 서버에서 시작하려는 작업 수를 제어 할 수 있습니다.

+0

나는 이것을 시험해 보았고 컴퓨터의 코어와 머신의 ME에 할당 된 코어를 병렬로 구분하지 않는 것 같습니다. 예를 들어 28 코어 노드에서 20 코어를 요청하면 20 개가 넘는 dock6 작업을 보게됩니다. (노드의 총 코어 수에 근접). 코어 제한을 준수하도록 병렬 처리를 지시하는 방법입니까 (예 : 각 노드가 $ PBS_NODEFILE에있는 항목 수로 나타남)? 또는이 문서화되지 않은 행동 (tm) 또는 사용자 오류 (tm)입니까? – Eric

관련 문제