콘텐츠로 이동

멀티노드 개요

Backend.AI GO는 더 거대한 컴퓨팅 메시(Mesh)의 한 노드(Node)로 작동하도록 설계되었습니다. 이 아키텍처 덕분에 다른 Backend.AI GO 인스턴스, Continuum Router 또는 엔터프라이즈급 Backend.AI 클러스터에 연결해 로컬 하드웨어의 한계를 넘어 확장할 수 있습니다.

왜 멀티노드인가요?

로컬 추론은 프라이버시와 낮은 지연 시간(latency) 면에서 훌륭하지만, 사용자의 하드웨어 사양(VRAM, 연산 능력)에 제약을 받습니다. 멀티노드 기능을 사용하면 다음과 같은 이점을 얻을 수 있습니다:

  • 더 큰 모델 사용: 로컬 GPU 메모리에 들어가지 않는 거대 모델을 서버나 클러스터로 오프로딩하여 실행할 수 있습니다.
  • 처리량 확장: 여러 노드에 추론 요청을 분산하여 더 많은 동시 요청을 처리할 수 있습니다.
  • 중앙 집중식 관리: Backend.AI GO를 클라이언트로 사용하여 중앙 서버의 자원을 관리하고 활용할 수 있습니다.

노드 유형

Backend.AI GO 생태계에는 세 가지 주요 연결 유형이 있습니다:

  1. 로컬 노드 (Local Node): 현재 Backend.AI GO가 실행 중인 사용자 컴퓨터입니다. 자체적인 Continuum Router를 실행하고 로컬 모델을 관리합니다.
  2. 피어 노드 (Peer Node): Backend.AI GO가 실행 중인 또 다른 컴퓨터입니다. 이 컴퓨터에 직접 연결하여 이미 실행 중인 모델을 공유받아 사용할 수 있는데, 피어 등록은 설정 > 노드 > 다른 컴퓨터 연결하기에서 합니다 (수동 등록과 자동 검색 참고).
  3. Backend.AI 클러스터: Backend.AI Core로 관리되는 엔터프라이즈급 클러스터입니다. 대규모 확장성, 사용자 관리, 보안 기능을 제공합니다.

노드 공유 설정 다크 모드의 노드 공유 설정

작동 원리

Backend.AI GO는 메시 네트워킹(Mesh Networking) 접근 방식을 사용합니다.

  1. Continuum Router: 모든 노드의 중심에는 Continuum Router가 있습니다. 이는 API 게이트웨이 역할을 하며, 사용자의 프롬프트를 적절한 백엔드(로컬 프로세스, 네트워크 노드, 또는 클라우드 API)로 라우팅합니다.
  2. 통합 API: 모델이 내 노트북에서 실행되든, 데이터센터의 H100 클러스터에서 실행되든, Backend.AI GO는 이를 동일하게 취급합니다. 사용자는 드롭다운에서 모델을 선택하기만 하면 되며, 시스템이 모델이 있는 노드로 요청을 보냅니다.
  3. 보안: 클러스터와의 연결은 HMAC-SHA256 인증(Access Key 및 Secret Key)을 통해 안전하게 보호됩니다.

공유 모델

모델을 공유하는 컴퓨터는 연결된 컴퓨터에 해당 모델을 계속 제공하는데, 연결된 컴퓨터가 사용하는 모델이 로드되어 있지 않을 때 어떻게 할지는 설정 > 노드 > 이 컴퓨터 공유하기 > 공유 모델의 두 스위치로 정합니다. 두 스위치 모두 기본값은 켜짐입니다.

설정 동작
메시에 공유한 모델을 로드된 상태로 유지 공유가 켜져 있고 연결된 컴퓨터가 있으면, 슈퍼바이저가 유휴 시간이나 메모리 부족을 이유로 모델을 언로드하지 않습니다.
다른 컴퓨터가 요청하면 공유 모델 로드 연결된 컴퓨터는 이 컴퓨터에 다운로드된 모델이라면 무엇이든 요청할 수 있습니다. 모델이 로드되어 있지 않으면 이 컴퓨터가 모델을 로드한 후 응답하고, 언로드된 동안에도 해당 모델은 연결된 컴퓨터의 모델 목록에 남아 있습니다.

사용자가 직접 언로드하거나, 모델 풀이 가득 차서 새로 로드한 모델에 자리를 내주거나, 프로세스가 종료되면 모델은 여전히 멈출 수 있습니다. 두 번째 스위치가 켜져 있으면 다음 요청이 모델을 다시 로드하죠. 요청은 로드를 최대 100초까지 기다리고, 그보다 오래 걸리면 모델을 아직 로드하는 중이라는 메시지와 함께 실패하는데, 로드는 계속 진행되므로 다음 요청에서는 로드된 모델을 사용합니다.

모델을 제공할 수 없을 때는 요청한 컴퓨터에 이유를 알려 줍니다. 메시지에는 모델과 해당 모델을 공유하는 컴퓨터의 이름이 들어가고, 로드가 실패했는지(실패 이유 포함), 아직 진행 중인지, 해당 컴퓨터에서 요청 시 로드가 꺼져 있어 시도하지 않았는지를 알려 줍니다.

슈퍼바이저가 읽는 유휴 시간은 모델의 마지막 요청 시점부터 계산되므로, 사용 중인 모델은 유휴 상태로 판단되지 않습니다.

실시간 네트워크 시각화

메시 탭에서는 전체 네트워크 토폴로지를 인터랙티브하게 실시간으로 시각화하여 보여 줍니다. 이 시각화를 통해 Backend.AI GO 인스턴스가 다양한 백엔드와 어떻게 연결되어 있는지 이해하고, 연결 상태를 한눈에 모니터링할 수 있습니다.

API 메시 토폴로지 다크 모드의 API 메시 토폴로지

확인할 수 있는 정보

네트워크 시각화는 왼쪽에서 오른쪽으로 흐르는 계층적 다이어그램을 표시합니다:

사용자 → 라우터 → 백엔드 → 모델
  • 사용자 노드: 사용자를 나타냅니다 (모든 요청의 시작점)
  • 라우터 노드: API 게이트웨이 역할을 하는 로컬 Continuum Router
    • 실행 상태 및 가동 시간 표시
    • 요청 통계 표시 (전체, 성공, 실패)
  • 백엔드 노드: 연결된 모든 백엔드 표시:
    • Backend.AI GO 피어
    • Continuum Router
    • Backend.AI 클러스터
    • 클라우드 프로바이더 (OpenAI, Anthropic, Gemini 등)
    • 로컬 백엔드 (llama.cpp, MLX, vLLM, Ollama)
  • 모델 노드: 각 백엔드에서 사용 가능한 모델

실시간 연결 상태

시각화는 5초마다 자동으로 업데이트되며 다음을 표시합니다:

시각적 표시 의미
녹색 연결선 정상적이고 활성화된 연결
빨간색 연결선 비정상 또는 실패한 연결
회색 연결선 비활성화되거나 비활성 상태인 연결
애니메이션 파티클 노드 간 데이터 흐름
지연 시간 레이블 밀리초 단위의 응답 시간

애니메이션 데이터 흐름

애니메이션 엣지 시각화는 각 연결의 실시간 트래픽을 보여 줍니다:

  • 흐르는 파티클이 데이터 이동 방향을 보여 줍니다
  • 녹색 파티클은 정상적인 요청/응답 흐름을 나타냅니다
  • 빨간색 파티클은 연결에 문제가 있음을 나타냅니다
  • 글로우 효과가 활성 연결을 강조합니다

이를 통해 어떤 연결이 활발하게 요청을 처리하고 있는지, 어떤 연결에 주의가 필요한지 한눈에 파악할 수 있습니다.

인터랙티브 컨트롤

  • 팬 및 줌: 스크롤 휠이나 컨트롤 버튼을 사용하여 대규모 네트워크 토폴로지 탐색
  • 노드 선택: 노드를 클릭하여 선택하고 상세 정보 확인
  • 세부 정보 패널: 노드의 상세 정보를 보여 주는 사이드 패널 표시
  • 경로 강조: 선택된 노드와 연결된 모든 엣지를 글로우 효과로 강조
  • 호버 툴팁: 모든 노드에 대한 빠른 정보 확인
  • 새로고침 버튼: 모든 연결에 대해 수동으로 상태 검사 실행
  • 범례: 노드 및 연결 유형에 대한 빠른 참조
  • 키보드 지원: ESC 키를 눌러 세부 정보 패널 닫기

노드 세부 정보 패널

노드를 클릭하면 해당 노드 유형에 맞는 정보를 표시하는 세부 정보 패널이 오른쪽에서 슬라이드됩니다:

  • 사용자 노드: 하위 노드로의 연결 수 표시
  • 라우터 노드: 상태, 가동 시간, 요청 통계(전체, 성공, 실패) 표시
  • 백엔드 노드: 유형, URL, 상태, 활성화 여부, 지연 시간, 모델 수 표시; 연결 문제가 있는 경우 오류 메시지 표시
  • 모델 노드: 모델 ID와 소속 백엔드 표시

패널에 포함된 기능:

  • 닫기 버튼 또는 ESC 키로 패널 닫기
  • 선택된 노드에 연결된 엣지 수 표시
  • 접근성을 위한 자동 포커스 관리

연결 상태 모니터링

각 백엔드 노드는 다음을 표시합니다:

  • 상태 배지: 정상, 비정상, 또는 알 수 없음
  • 지연 시간 메트릭: 실시간 응답 시간
  • 모델 수: 사용 가능한 모델 개수
  • 연결 유형 아이콘: 백엔드 유형을 나타내는 시각적 표시

개별 연결에 대해 수동으로 상태 검사를 수행하거나 모든 연결을 한 번에 검사할 수도 있습니다.

시작하기

컴퓨팅 능력을 확장하려면 다음 문서를 참고하세요: