개요

Backend.AI Enterprise R2는 클라우드 또는 온프레미스 환경에서 가상화된 연산 자원 클러스터를 손쉽게 활용할 수 있도록 돕는 플랫폼입니다. Backend.AI 서버에 접속하여 연산 자원을 활용하고 자신만의 연산 환경을 관리할 수 있는 편리한 웹 기반의 GUI 인터페이스를 제공하며, 사전 제작된 이미지를 제공하여 사용자가 별도의 프로그램을 설치할 필요없이 즉시 연산 환경을 생성할 수 있습니다. 또한, Backend.AI의 컨테이너 기반 GPU 분할 가상화 기술을 통해 하나의 물리 GPU를 유연하게 나누어 여러 사용자가 동시에 사용할 수 있도록 지원하고 있어, GPU의 효율적인 활용을 돕습니다. 이 대부분의 작업을 마우스 클릭과 짧은 타이핑으로 할 수 있어 보다 직관적으로 사용할 수 있습니다.

주요 개념

Diagram explaining key concepts
  • 사용자는 Backend.AI에 접속하여 작업을 수행하는 주체입니다. 사용자는 가지는 권한에 따라 일반 사용자와 수퍼 어드민(superadmin)으로 구분됩니다. 일반 사용자는 자신의 연산 세션과 관련된 작업만을 수행할 수 있는 데 반해, 수퍼 어드민은 시스템 전체에 걸쳐 거의 대부분의 작업을 수행할 수 있습니다. 사용자는 하나의 도메인에 속하게 되며, 도메인 내의 여러 그룹에 동시 속할 수 있습니다.
  • 연산 세션, 컨테이너: 자신의 연산 코드가 실행되는 격리된 가상 환경입니다. 자신이 온전한 사용자 권한을 가진 실제 리눅스 서버처럼 보이며, 물리적으로는 다른 사용자의 코드와 같은 서버에서 실행되더라도 다른 사용자를 서로 볼 수 없습니다. Backend.AI는 이러한 가상 환경을 컨테이너(container)라는 기술을 통해 구현합니다. 사용자는 자신이 속한 도메인과 그룹 내에서만 연산 세션을 생성할 수 있습니다.
  • 도메인: Backend.AI에서 지원하는 권한 및 자원 제어를 위한 최상위 계층입니다. 회사나 조직의 경우, 도메인을 하나의 계열사로 보고 도메인 별 (또는 계열사 별) 권한 및 자원 정책 등을 설정할 수 있습니다. 사용자는 반드시 하나의 도메인에 속하며, 자신의 도메인에서만 세션을 생성하거나 관련 정보를 확인할 수 있습니다. 도메인에는 하나 이상의 도메인 관리자가 있을 수 있으며, 도메인 관리자는 도메인 내의 정책을 설정하거나 세션을 관리할 수 있습니다. 예를 들어, 도메인 내에서 사용할 수 있는 총 자원량을 설정할 경우, 도메인 내 사용자가 생성한 모든 컨테이너의 자원은 설정된 양보다 클 수 없습니다.
  • 그룹: 도메인 하위에 속하는 계층으로, 한 도메인에는 여러 개의 그룹이 존재할 수 있습니다. 그룹은 하나의 프로젝트 단위라고 생각할 수 있습니다. 사용자는 한 도메인 내에 존재하는 여러 개의 그룹(또는 프로젝트)에 동시에 속할 수 있습니다. 연산 세션은 반드시 하나의 그룹에 속해야 하며, 사용자는 자신이 속한 그룹 내에서만 세션을 생성할 수 있습니다. 도메인 관리자는 도메인 내에 속한 그룹의 정책을 설정하거나 세션을 관리할 수 있습니다. 예를 들어, 그룹 내에서 사용할 수 있는 총 자원량을 설정할 경우, 그룹 내 사용자가 생성한 모든 컨테이너의 자원은 설정된 양보다 클 수 없습니다.
  • 이미지: 각 컨테이너에는 미리 설치된 언어별 런타임과 각종 연산 프레임워크들이 설치되어 있는데, 실행되기 전의 그러한 스냅샷 상태를 이미지(image)라고 합니다. 사용자는 클러스터 관리자가 제공하는 이미지를 골라서 실행하거나, 자신이 추가로 사용하고 싶은 소프트웨어가 설치된 이미지를 직접 만들거나 관리자에게 생성 또는 등록을 요청할 수 있습니다.
  • Virtual Folder (vfolder; 가상 폴더): 사용자 별로 자신의 컨테이너가 어느 노드에서 실행 되든 관계없이 항상 접근 및 컨테이너에 탑재 가능한 《클라우드》 폴더입니다. 자신만의 가상 폴더를 생성한 후 미리 자신의 프로그램 코드, 데이터 등을 업로드해두고 연산 세션 실행 시 탑재하여 로컬 디스크에 있는 파일인 것처럼 읽고 쓸 수 있으며, 다른 사용자와의 공유도 가능합니다.
  • 애플리케이션 서비스, 서비스 포트(service port): 연산 세션 내에서 실행되는 다양한 사용자 애플리케이션(예: Jupyter Notebook, shell 터미널, TensorBoard 등)에 접속할 수 있게 해주는 기능입니다. 사용자는 컨테이너의 주소 및 포트 번호를 직접 알 필요 없이, 제공되는 CLI client 또는 GUI console을 이용하여 원하는 세션의 데몬에 바로 접속할 수 있습니다.
  • (GUI) 콘솔: 웹(web) 형태로 서비스 되는 GUI 클라이언트. Backend.AI 서버의 주소를 지정하고 사용자 계정 정보를 입력해 로그인 한 후 서비스를 사용할 수 있습니다.
  • WSProxy: Jupyter Notebook, 터미널 등과 같은 인터렉티브 앱을 서빙하는 프록시로, GUI 콘솔에서 Backend.AI 서버와 웹소켓을 통해 통신할 수 있는 매개 역할을 함.
    • 콘솔과 wsproxy 와의 연결이 끊기거나 wsproxy 서버가 죽은 경우 Notebook, Terminal 등의 서비스 접속이 불가능합니다.

Backend.AI 기능 상세

분류 기능
GPU 지원 컨테이너 수준의 멀티 GPU
(엔터프라이즈) GPU 분할 공유
다양한 CUDA 라이브러리 버전 지원 (8.0-11.1)
스케일링 온프레미스 설치 (베어메탈 또는 VM 등)
하이브리드 클라우드 (온프레미스 + 클라우드)
폴리 클라우드 (여러 클라우드 서비스 연합)
스케줄링 통합 스케줄링 및 GUI 어드민 모니터링
사용자(키페어) 별 자원 정책
(엔터프라이즈) 그룹 별 자원 정책
가용 슬롯 기반의 스케줄링
클러스터 묶음 하드웨으 스펙과 사용 형태에 따른 리소스 그룹
(엔터프라이즈) 사용자 리소스 그룹 배치
(엔터프라이즈) 사용자 그룹 리소스 그룹 배치
보안 하이퍼바이저/컨테이너를 통한 샌드박싱
사용자 요청 별 접근 로그
연산 세션 별 로그
UI / UX GUI 웹 인터페이스
(엔터프라이즈) 어드민 GUI 웹 인터페이스
데이터 관리 리EFS, NFS, SMB 및 분산 파일 시스템 (CephFS, GlusterFS, HDFS 등)
(엔터프라이즈) 플래시 저장소 통합: PureStorage FlashBlade
사용자/그룹 별 데이터 접근 제어
개발 지원 범용 프로그래밍 언어 (Python, C/C++ 등)
대화형 웹 앱 (터미널, Jupyter, VSCode 등)
데이터 과학자 지원 NGC (NVIDIA GPU Cloud) 이미지 통합
유명 ML 라이브러리: TensorFlow, PyTorch 등
여러 버전의 라이브러리 동시 사용
주기적인 ML 라이브러리 업데이트
고객 지원 방문 설치 (베어메탈 / VM 등)
설정 지원 (온프레미스 + 클라우드)
어드민/사용자 교육
최신 버전 업데이트 지원
기술 개발 요청 우선 반영
커스텀 컨테이너 이미지 및 이미지 레지스트리

사용자 역할 별 접근 가능한 메뉴 안내

주석

  • * 표시가 붙은 페이지는 관리자용 메뉴입니다.
  • 관리자 전용 기능은 어드민 전용 메뉴 에서 확인할 수 있습니다.
페이지 \ 역할 일반 사용자 어드민
요약 (Summary) O O
세션 (Sessions) O O
데이터 & 폴더 (Data & Storage) O O
통계 (Statistics) O O
사용자 (Users)* X O
관리 (Maintenance)* X O
정보 (Information)* X O
사용자 설정 (UserSettings) O O