14. HPC 자원 활용하기
개요
이 장에서는 BBP 연구환경 내에서 제공되는 분석 작업용 Pod(JupyterHub) 를 통해 Slurm 클러스터, Spark(Hail 전용) 클러스터와 공유 스토리지 같은 분석 인프라를 활용하는 방법을 설명합니다.
- 대상: BBP의 데이터와 연구 환경을 분양 받고 분석을 수행하는 연구자
- 전제: 연구자는 VPN과 VDI와 같은 보안 솔루션을 이용하여 연구환경으로 접근 할 수 있고, 기본적인 리눅스 셸 사용법(파일 탐색, 권한, 편집기 등) 숙지하고 원격 서버 접속 및 활용 경험을 보유함
데이터 보안 교육은 별도 진행
민감 데이터 취급, 결과물 반출 절차 등 데이터 거버넌스 전반은 별도 교육에서 다룹니다. 이 문서에서는 각 작업 단계에서 반드시 지켜야 할 보안 주의사항만 해당 챕터에 함께 표시합니다.
이 장에서는,
을 안내합니다.
시작하기 전에
- BBP의 연구환경은 외부 인터넷에 직접 연결되지 않습니다. 패키지 설치는 폐쇄망내 conda repository 등 내부 저장소를 사용합니다.
- 데이터의 연구환경 외부 반·출입은 정해진 절차를 통해서만 가능하며, 이는 별도 보안 교육에서 안내합니다.
- 외부 공개 도메인(pip의 PyPI, conda의 anaconda.org 등)으로의 접근은 차단되어 있는 대신, 동일한 Repository가 폐쇄망 내부에 제공되어 있습니다.
용어 정의
| 용어 | 설명 |
|---|---|
| Pod | 쿠버네티스에서 실행되는 분석 작업용 컨테이너 환경. Jupyter Notebook이 실행되어 연구자가 분석 작얼을 수행하는 거점이자 다른 클러스터로의 진입점 |
| Slurm | 배치 작업 스케줄러 기반 HPC 클러스터. sbatch/srun으로 작업을 제출 |
| Spark | 분산 처리 프레임워크 기반 클러스터. 본 환경에서는 Hail 전용 |
| Hail | Spark 위에서 동작하는 대규모 유전체 데이터 분석 라이브러리 |
| 파티션(Partition) / 큐(Queue) | Slurm에서 노드를 묶어 작업을 배정하는 단위 |
| 공유 스토리지 | 세 시스템에 동일 경로로 마운트된 저장 공간 |
| FIFO | 선입선출. 먼저 요청한 작업(큐)을 먼저 실행하는 정책 |
문서 표기 규칙
이 문서는 주요 디렉토리 또는 호스트명과 같이 변경 가능성이 있는 공통 정보를 본문에 직접 적지 않고 변수로 참조할 수 있도록 제공합니다. 실제 값은 14.1 환경 변수 정보의 표에서 한 번에 확인·관리합니다.
${변수명}: 시스템마다 다른 미확정 값(호스트명, 경로 등). 예:${SLURM_LOGIN_HOST},${SHARED_ROOT}강조 박스
::: tip유용한 팁::: warning주의(데이터 손실·자원 낭비 가능)::: danger보안·운영상 반드시 지켜야 할 사항
WARNING
명령어 예시에 등장하는 ${...} 값은 그대로 입력하면 동작하지 않습니다. 반드시 14.1 환경 변수 정보에서 확인한 실제 값으로 치환하거나, 2장에서 안내하는 환경 변수 파일을 source 한 뒤 사용하세요.