logo

PBS 작업 명령어 정리 📂프로그래밍

PBS 작업 명령어 정리

개요

PBS는 Portable Batch System의 약자로, 대규모 컴퓨터 클러스터에서 작업을 관리하는 데 사용되는 소프트웨어이다. PBS는 작업 스케줄링, 자원 관리 및 작업 모니터링을 지원하여 사용자가 클러스터에서 효율적으로 작업을 수행할 수 있도록 돕는다.

작업 스크립트

작업 스크립트는 PBS에 제출할 작업을 정의하는 파일이다. 주석은 #으로 시작하며, #!#PBS와는 다르다는 것에 유의하자.

  • #!/bin/sh: 스크립트의 인터프리터를 지정. 스크립트 파일을 실행할 때 어떤 셸을 사용할지를 선택함.
  • #PBS: 작업에 대한 각종 메타 정보를 지정하는 지시어.
  • #: 주석
PBS 지시어설명
-N {JOB_NAME}작업 이름 지정.
-q {QUEUE}사용할 큐 이름 지정.
-l select=1:ncpus=1:ngpus=1사용할 자원 (코어 개수 등) 지정.
-o {PATH}표준 출력 파일 경로 지정.
-e {PATH}표준 에러 파일 경로 지정.
-j oe표준 출력(stdout)에 표준 에러(stderr)를 통합.
-j eo표준 에러에 표준 출력을 통합.

자원 할당 변수 키워드는 아래와 같다.

  • select: 사용할 노드 수
  • ncpus: 사용할 CPU 코어 수
  • ngpus: 사용할 GPU 개수
  • walltime: 작업의 최대 실행 시간

환경변수는 작업 스크립트에서 사용할 수 있는 변수로, PBS가 자동으로 설정해준다. 아래는 몇 가지 예시이다.

환경변수설명
PBS_O_WORKDIR작업이 제출된 디렉토리 경로(qsub이 실행된 절대 경로).
PBS_JOBID작업 ID.
PBS_JOBNAME작업 이름.

스크립트 파일을 아래와 같이 작성할 수 있다.

#!/bin/sh
#PBS -N train_mymodel             # 작업 이름
#PBS -q gpu                       # 사용할 큐 이름
#PBS -l select=1:ncpus=1:ngpus=1
#PBS -o ./eo/train                # 표준 출력 파일 경로
#PBS -j oe                        # 표준 출력과 표준 에러를 하나의 파일로 합침

module purge
module load cuda/12.1

cd $PBS_O_WORKDIR

{작업 내용}

exit 0

명령어

명령어설명
qsub {script_file}작업 제출.
qstat현재 큐에 제출된 작업 목록 확인.
qstat -u {user}특정 사용자의 작업 목록 확인.
qstat -u $USER현재 사용자의 작업 목록 확인.