GPU 슬롯
GPU 점유·유휴·대기 확인과 공유 풀·전용·미배선 배선 설정
필요 권한: 전역 관리자
GPU 슬롯 화면 상단은 여유 슬롯과 슬롯을 점유한 파드, 하단 배선은 테넌트별로 사용할 수 있는 슬롯 수 표시. 10초마다 자동 갱신.
현황 읽기
| 카드 | 뜻 |
|---|---|
| 총 슬롯 | 노드들이 클러스터에 보고한 GPU 자원(nvidia.com/gpu)의 합 |
| 사용 중 | 배치된 파드가 점유한 슬롯 |
| 유휴 | 즉시 배치할 수 있는 슬롯 |
| 대기 중 | 슬롯을 확보하지 못해 대기 중인 파드 수. 대기(Pending)는 실패가 아님. 유휴 슬롯이 생기면 스케줄러가 배치. |
그 아래 device plugin 카드는 GPU 를 클러스터에 보고하는 플러그인의 동작 여부와 시분할(time-slicing) 활성화 여부 표시. 플러그인이 없으면 카드에 device plugin 미설치 와 설치 명령(kubectl apply -f scripts/serving/nvidia-device-plugin.yml) 표시. 이때는 GPU 가 자원으로 인식되지 않아 GPU 를 요청한 파드가 모두 대기 상태로 남음. 설치 방법은 설치 장 참고.
그 아래 노드 표는 노드별 슬롯 사용·유휴·시분할·플러그인 상태, 슬롯을 쓰는 파드 표는 GPU 를 점유했거나 대기 중인 파드와 그 노드(또는 미배치), 슬롯 수, 대기 사유 표시. 슬롯을 점유한 파드는 이 표에서 확인.
배선: 세 가지 모드
배선은 테넌트별로 할당한 GPU 수로, DB 에 저장. 실제 점유는 항상 클러스터의 실시간 값에서 읽음.
| 모드 | 뜻 | 용도 |
|---|---|---|
| 미배선 (기본) | 이 테넌트에 할당된 슬롯이 하나도 없음. 학습·서빙 화면에서 GPU 선택 불가, 직접 요청해도 제출 거부(CPU 는 그대로 사용). | GPU 가 필요 없는 테넌트 |
| 공유 | 이름이 지정된 공유 풀에 소속. 풀에 소속된 테넌트 전체의 점유 합이 풀 슬롯 수를 넘으면 새 제출 거부. | 여러 팀이 적은 수의 GPU 를 번갈아 사용하는 경우 |
| 전용 | 지정한 수의 슬롯을 상시 확보. 다른 테넌트는 그만큼 사용 불가, 이 테넌트도 점유가 그 수를 넘으면 새 제출 거부. | 상시 실행해야 하는 서빙이 있는 경우 |
위 합계 줄의 배선됨(할당한 슬롯), 남는 슬롯, 광고 총량(노드가 보고한 GPU 총량)을 참고해 배분. 같은 슬롯의 중복 할당을 막기 위해 대기 중인 파드와 아직 파드가 생성되지 않은 대기열의 학습도 점유로 계산.
공유 풀 만들기
- 풀 등록 클릭.
- 풀 이름(소문자·숫자와
.·_·-, 영문 소문자나 숫자로 시작하고 끝남, 64자 이하, 나중에 변경 불가)과 슬롯 수(1~1000), 설명 입력 후 등록.공유 풀 등록
풀 행의 연필 아이콘(풀 수정)으로 슬롯 수와 설명 수정, 휴지통 아이콘(풀 삭제)으로 삭제. 이 풀에 공유 모드로 소속된 테넌트가 있으면 서버가 삭제 거부(409). 그 테넌트의 배선을 먼저 다른 풀이나 모드로 변경.
테넌트에 배선하기
- 테넌트 표에서 테넌트 행의 설정 클릭.
- 모드 선택. 공유 면 풀 선택, 전용 이면 상시 할당 슬롯 수 지정.
테넌트 GPU 배선: 미배선 / 공유 / 전용 (전용을 선택한 상태) - 저장 클릭. 이후 그 테넌트의 학습·서빙 화면에서 GPU 자원 선택 가능.