콘텐츠로 이동

LabPod란 무엇인가

LabPod는 소규모 연구팀이 GPU 워크스테이션 한 대를 브라우저에서 함께 쓰는 공유 플랫폼입니다. 각 팀원은 자신만의 격리된 워크스페이스를 씁니다. 워크스페이스 안에는 Jupyter와 VS Code, 일반 터미널 등이 들어 있습니다. CPU와 메모리, GPU에는 할당량이 적용되고 디스크 사용량은 권고 알림으로 알려 줍니다. SSH 설정도, 클러스터도, 스케줄러도 필요 없습니다.

GPU 서버에 LabPod를 설치합니다. 사용자는 브라우저에서 http://<host>:24680을 열고 로그인한 뒤 GPU 워크스페이스를 시작합니다. 관리자는 대시보드 하나에서 누가 무엇을 사용하는지 확인하고 워크스페이스를 강제 중지할 수 있습니다.

대상은 GPU 워크스테이션 한 대를 함께 쓰는 5~10명 규모의 연구 그룹입니다. 대학원 연구실, 소규모 R&D 팀, 고성능 머신 한 대를 갖춘 조교가 여기에 해당합니다. 서버를 운영하는 사람에게 Kubernetes 지식은 필요하지 않습니다. LabPod는 스크립트 하나로 설치되며 systemd 서비스로 실행됩니다.

  • 사용자별 워크스페이스: CPU/메모리/GPU 할당량은 강제로 적용하고 디스크 사용량은 권고 알림으로 알려 줍니다.
  • 브라우저 UI: JupyterLab, VS Code (code-server), 내장 터미널, TensorBoard, MLflow.
  • GPU 할당: GPU 전체, 소프트웨어 방식 분할 공유 또는 MIG 슬라이스(A100/H100/H200/B100). MIG 지원은 실제 MIG 하드웨어에서는 아직 검증되지 않았습니다.
  • 관리자 대시보드: 사용자별 실시간 리소스 사용량, GPU 점유율, 디스크 부족 경고, 감사 로그.
  • 루트리스 컨테이너 격리: 모든 워크스페이스는 소유자의 Linux 계정으로 실행되며 파일 소유권도 호스트에서 그대로 유지됩니다.
  • 대기열 없음: 할당량과 모니터링, 관리자 강제 중지로 조정하며 작업 스케줄러는 쓰지 않습니다.
  • 컨테이너 GUI가 아닙니다: LabPod는 워크스페이스 UX이며 범용 Portainer 대체재가 아닙니다.
  • 클러스터 도구가 아닙니다: Slurm, Kubernetes, 다중 노드 스케줄링을 지원하지 않습니다.
  • 노트북 전용 도구가 아닙니다: 워크스페이스는 시작하고 중지하는 영속적인 컨테이너이며 일회성 노트북 세션이 아닙니다.

현재 릴리즈에서는 자동 중지 기능이 없습니다. 워크스페이스는 직접 중지할 때까지 계속 실행됩니다.