공유 노드 정책 변경에 따른 메모리 할당량 설정 안내
슈퍼컴퓨팅인프라센터 2022. 3. 31. 12:10
가. 뉴론 시스템 노드 정책 변경 안내
정책 변경시점 : 2022년 3월 17일 예방정비 점검(PM) 이후
정책 적용 파티션 : 모든 파티션
변경 내용 : 배타적 노드 할당 정책 -> 공유 노드 정책
※ 배타적 노드 할당 정책 : 노드 단위 작업 할당 정책으로, 하나의 노드에 하나의 작업만을 할당 ※공유 노드 정책 : CPU 단위 할당 정책으로, 유휴 자원(CPU)이 존재하는 노드에 사용자 작업을 할당하는 방식이며, 하나의 노드에 여러 작업이 할당될 수 있음
나. 뉴론 공유 노드 정책에서 메모리 할당량 설정
뉴론 시스템 자원 활용의 효율성 및 사용자의 안정적인 작업 수행을 위하여 아래와 같이 메모리 할당량을 자동 조절
'--mem' (노드 당 메모리 할당) 옵션을 사용하더라도 노드 당 수행될 프로세스 수(ntasks-per-node)와 프로세스 당 할당될 cpu core 수(cpus-per-task)에 따라 메모리 할당량이 자동 계산
#SBATCH --exclusive 옵션 사용시에 단일 노드 메모리 가용량의 95%가 작업에 할당되며, 노드를 전용으로 사용할 수 있음, (단 전용으로 사용 가능한 노드가 확보될 때까지 대기 시간이 길어질 수 있음.)
GPU 작업 시, 메모리 할당에 대한 안내 및 이해를 돕고자, gpu 사용 개수가 cpu core 수를 초과하는 경우에 아래 안내 메시지 출력되며 작업이 제출되지 않도록 설정되어 있음.
메모리 할당량을 설정하지 않으면 메모리 부족으로 작업이 종료될 수 있기 때문에 사용자 작업 방식에 맞게 ntasks-per-node, cpus-per-task 또는 exclusive SBATCH 옵션 입력하여 작업 수행 권함
다. 뉴론 공유 노드 정책에서 GPU 당 CPU core 할당 개수 설정
GPU 어플리케이션의 안정적인 수행을 위해 노드당 CPU core 개수를 GPU에 비례하여 아래와 같이 기본 할당 (메모리 용량도 자동으로 설정, 참조: 뉴론 공유 노드 정책에서 메모리 할당량 설정)
메모리 요구량 추가로 필요한 경우 기본 할당된 cpus-per-gpu 수 보다 크게 자원을 요청하여 메모리 할당량을 확보할 수 있음. 단, 자동 설정된 cpus-per-gpu 보다 cpu core 요구량을 작게 할당할 경우 기본 할당 개수로 overwrite 됨.
라. 제출 작업의 메모리 사용량 확인 방법 예시
사용자는 자신이 제출한 작업이 수행되고 있는 계산노드에 ssh 명령으로 접속하여 메모리 사용량을 확인할 수 있음
1) 작업이 수행중인 계산노드 확인
2) ssh 명령으로 계산노드 접속
3) 이후 top, nvidia-smi, htop, nvtop 등의 명령으로 자원 사용량에 대해 확인
(htop, nvtop은 module load nvtop htop 후 사용 가능)
※ 메모리 사용량은 작업 수행과정에 따라 일시적으로 증가할 수 있기 때문에 노드에 접속하여 확인한 값보다 여유롭게 설정하는 것을 권장
마. 작업 스크립트 예시
1. 프로그램 실행에 사용할 core 수는 적으나, 메모리 사용량이 큰 경우 노드당 수행될 프로세스 수로 메모리 할당량을 조절하여 프로그램 실행하는 예제
※ cas_v100_4 1개 노드 모든 core 점유하여 메모리 할당받는 예제
※ 파티션별 총 core 수는 뉴론 지침서 > 스케줄러(SLURM)를 통한 작업 실행 > 가. 큐 구성 > Total CPU core 수 또는 뉴론 시스템 motd 명령으로 확인 가능
2. #SBATCH –exclusive 설정으로 노드를 전용으로 사용하는 예시
※ exclusive 옵션으로 노드 메모리 가용량의 95%를 작업에 할당받음
Last updated