왜 LabPod인가
LabPod는 한 가지 좁은 문제만 해결합니다. 5~10명의 연구 그룹이 비싼 GPU 워크스테이션 한 대를 공유하면서, 공정한 할당량으로 서로 충돌 없이 브라우저에서 GPU에 접근할 수 있어야 한다는 것입니다.
| 도구 | 강점 | 소규모 연구실 문제에 맞지 않는 이유 |
|---|---|---|
| Google Colab | 로컬 설정 없이 빠르게 쓰는 hosted notebook | 세션마다 하드웨어와 소프트웨어가 바뀔 수 있어 재현성이 약하고, 세션 시간이 제한되어 장시간 딥러닝 학습에 취약함 |
| Docker Desktop / Portainer | 개인 또는 운영팀을 위한 컨테이너 관리 | 워크스페이스 UX가 없어 사용자가 컨테이너 기본 요소를 직접 다뤄야 하며, 할당량이나 GPU 정책도 없음 |
| JupyterHub | 다중 사용자 노트북 | 노트북 전용; 약한 GPU 할당 및 할당량 적용 |
| Open OnDemand | HPC 포털, Slurm/PBS 연동 | 클러스터용 설계; 단일 머신에 대한 대규모 설치 부담 |
| Slurm / Kubernetes | 대규모 클러스터 스케줄링 | 노드 하나에 과도함; 운영하려면 전문 인프라 지식 필요 |
| Backend.AI | 엔터프라이즈 다중 노드 GPU 플랫폼 | 기능은 완전하지만 인프라 전담 팀이 있는 조직 규모로, PI와 워크스테이션 한 대에는 부적합 |
LabPod는 이 모든 도구보다 의도적으로 더 좁은 범위를 다룹니다. 가장 큰 장점은 설치와 운영이 단순하다는 것으로, 설치 명령 하나, 바이너리 하나, SQLite 파일 하나면 됩니다.
대기열이 없는 이유
섹션 제목: “대기열이 없는 이유”LabPod는 단일 노드이며 인터랙티브 작업을 우선으로 합니다. 연구자는 빠르게 반복해야 합니다. 커널을 시작하고 셀을 실행하고 그래디언트를 확인하고 다시 반복합니다. 작업 스케줄러는 이런 워크플로에 맞지 않는 추상화입니다.
LabPod의 조정 방식:
- 할당량: 각 사용자는 CPU/메모리/GPU 예산을 받습니다. 예산이 소진되면 새 워크스페이스가 거부됩니다.
- 가시성: 관리자 대시보드에서 누가 무엇을 실시간으로 사용하는지 확인할 수 있습니다.
- 관리자 강제 중지: 관리자가 유휴 또는 멈춘 워크스페이스에서 리소스를 회수할 수 있습니다.
데몬 없음, 대기열 없음, 스케줄러 없음. Go 바이너리 하나와 Podman.
왜 Podman인가
섹션 제목: “왜 Podman인가”- 데몬리스: 모든 사용자가 공유하는 루트 데몬이 없습니다. 각 워크스페이스는 소유자의 Linux 계정으로 실행됩니다.
--userns keep-id: 워크스페이스 내에서 생성된 파일이 호스트에서 올바른 사용자 소유가 됩니다. SSH 접근, 스크립트, 데이터 파이프라인이 소유권 혼란 없이 작동합니다.- OCI 호환: Docker Hub 또는 GHCR의 모든 이미지가 작동합니다.
- CDI: GPU 장치 할당을 위한 깔끔하고 표준적인 인터페이스.
- 기본적으로 루트리스: Docker 그룹 없음, 사용자에게 노출되는 루트 동등 소켓 없음.
현재 범위
섹션 제목: “현재 범위”단일 GPU 워크스테이션. 클러스터가 아닌 연구실 하나.