1

나는 병렬 컴퓨팅을 처음 사용하기 때문에 PBS 시스템의 사용법을 이해할 수 없습니다. 성공적으로 SLURM을 설치하고 처리 노드를 설정했습니다. 하지만 여러 노드간에 작업을 배포 할 수있는 아이디어를 얻을 수 없습니다.SLURM/PBS 노드에서 처리 된 정보를 수집하는 방법

간단한 예제가 많이 있지만 단순한 "Hello World"프로그램 만 실행하면됩니다.

다음 예를 고려해 보면 인터넷에서 발견했습니다.

#!/bin/bash 
#SBATCH -N 4 
#SBATCH -c 1 
#SBATCH --time=0-00:15:00  # 30 minutes 
#SBATCH --job-name="just_a_test" 

module load python 
python --version 

실행되는 간단한 스크립트는 파이썬 버전을 얻습니다.

sbatch python.slurm을 사용하여 실행하면 숫자를 4로 설정하더라도 첫 번째 노드에만 결과가 저장되지만 다른 노드에서는 srun -N4 /bin/hostname이 정상적으로 작동합니다.

그러나 이것은 주요 질문이 아닙니다.

내 병렬 알고리즘을 작성해야하는 이유를 이해할 수 없습니다.

배열 정렬, 행렬 곱셈 또는 기타와 같은 병렬 알고리즘의 예입니다.

예를 들어 Hadoop 또는 멀티 스레드 환경에서만 사용되는 단계입니다.

  1. 소스에서 입력을 가져옵니다.
  2. 입력을 청크로 나누면 청크의 수는 노드 수와 관련되어야합니다.
  3. 처리 정보를 수집하고 보여 완료하기 위해 모든 스레드에 대한 각각의 프로세싱 노드/스레드
  4. 기다립니다이 덩어리를 보내기 그것은 사용자

을 병합 후 나는 같은 사용 SLURM 또는 PBS를 할 수있는 방법 .

#!/bin/bash 
#SBATCH -N 4 
#SBATCH -c 1 
#SBATCH --time=0-00:15:00  # 30 minutes 
#SBATCH --job-name="just_a_test" 

what I have to write here ? 

나는 이것을 발견하지 못 했으므로 이것을 설명하거나 읽을만한 기사를주십시오.

pbsdsh hostname 

호스트 이름의 명령은 작업의 각 실행 슬롯 (코어 또는 스레드)에 대해 한 번 실행하게됩니다 : 감사

답변

1

이 작업을 수행하는 가장 기본적인 방법은 pbsdsh을 사용하는 것입니다. 또한 #SBATCH를 #PBS에 상응하는 것으로 변환해야 할 필요가 있음을 알려드립니다.

보편적 인 방법은 MPI 구현입니다.