14.8 자원 사용 정책 및 에티켓
Slurm·Spark는 여러 연구자가 함께 쓰는 공유 자원입니다. 모두가 원활히 사용하려면 최소한의 규칙과 배려가 필요합니다.
14.8.1 확정된 정책: 선입선출(FIFO)
- 작업(큐)은 먼저 요청한 순서대로 실행됩니다.
- 즉, 큰 작업을 먼저 제출하면 그 작업이 끝나거나 자원이 날 때까지 뒤 작업이 대기합니다. 작업 순서와 크기를 고려해 제출하세요.
14.8.2 권장 운영 정책 (제안)
아래는 확정 정책은 아니지만, 원활한 이용과 효과적인 운영을 위해 초안으로 제안하는 사항입니다. 운영팀 검토 후 확정하시기 바랍니다.
자원 요청 적정화
- 실제 필요량에 맞춰
--time·--mem·코어 수를 요청합니다. 습관적으로 최대치를 잡지 않습니다. - 처음 보는 작업은 소규모로 시험 실행해 사용량을 측정한 뒤 본 실행 규모를 정합니다(
sacct의MaxRSS/Elapsed참고).
대용량·장기 작업 사전 협의
- 클러스터 대부분을 오래 점유하는 작업(예: 다수 노드 장시간, Spark 전체 코어 점유)은 사전에 운영팀/팀원과 시간대를 협의합니다.
- Spark 작업에는
--total-executor-cores로 점유 상한을 명시하여 다른 Hail 작업이 굶지 않게 합니다.
대화형 세션 정리
srun/salloc대화형 세션과 대화형 Hail 세션은 사용 후 즉시 종료합니다. 유휴 상태로 자원을 잡아두지 않습니다.- 장시간 계산은 대화형이 아니라 배치(
sbatch)/spark-submit으로 제출합니다.
스토리지 정리
- 임시 산출물은
${SCRATCH_DIR}에 두고, 작업 후 정리합니다(자동 삭제 주기 확인). - 중복본을 만들지 않습니다. 공유 스토리지이므로 시스템 간 복사는 불필요합니다.
작업 식별 규칙
--job-name과 결과/로그 파일명에 본인·과제 식별자(${LDAP_USER},${PROJECT_CODE})를 넣어, 공유 환경에서 누구의 어떤 작업인지 알아볼 수 있게 합니다.
동시 작업 한도(권고)
- 한 사람이 큐를 과도하게 채워 사실상 자원을 독점하지 않도록, 개인 동시 실행/대기 작업 수에 자율 상한을 두는 것을 권장합니다(구체 수치는 운영팀이 정함).
14.8.3 함께 쓰는 환경에 대한 기본 에티켓
- 내 작업이 다른 사람의 대기에 영향을 준다는 점을 인지합니다.
- 자원 현황(
sinfo, Spark UI)을 먼저 확인하고 제출합니다. - 문제가 의심되면(노드 이상, 작업 멈춤) 임의 조치보다 운영팀에 공유합니다.