openlake-project/openlake
OpenLake is a high performance storage engine for efficient LLM inference and GPU Training
해결하는 문제
OpenLake는 GPU 워크로드를 위해 특별히 설계된 고성능 분산 스토리지 엔진입니다. 이는 훈련 및 추론 중에 GPU가 유휴 상태로 남게 되는 경우가 많은 느린 스토리지 I/O 병목 현상을 해결합니다. 초저지연 및 높은 처리량을 제공함으로써 가속기가 완전히 활용되도록 보장합니다.
작동 방식
Rust로 구축되었으며 Linux io_uring을 활용하는 OpenLake는 스토리지에서 GPU 메모리로의 경로를 최소화합니다. 다음과 같은 몇 가지 핵심 기술을 사용합니다:
- Zero Copy: GPUDirect Storage 및 RDMA를 사용하여 NVMe/NICs와 GPU 메모리 사이에서 데이터를 직접 이동시켜 호스트 CPU와 페이지 캐시를 우회합니다.
- Core Local Asynchronous I/O: 코어 간 경합을 피하기 위해 물리적 코어당 고정된 런타임을 실행합니다.
- Burst Aware RDMA: 수신 측의 과부하를 방지하고 테일 레이턴시를 보호하기 위해 크레딧 기반 흐름 제어를 구현합니다.
- Erasure Coding: 내구성이 높고 용량 효율적인 스토리지를 위해 SIMD Reed Solomon erasure coding을 사용합니다.
- KV Cache Offload: LLM 추론 엔진(예: vLLM)이 GPU 플릿 전체에서 페타바이트 규모로 KV 캐시를 오프로드하고 검색할 수 있도록 합니다.
대상 사용자
LLM 추론 비용을 최적화하고, 모델 훈련 속도를 높이며, AI 에이전트를 위한 대규모 컨텍스트 스토리지를 관리해야 하는 AI 인프라 엔지니어 및 ML 실무자들을 대상으로 합니다.
주요 특징
- Extreme Performance: 1ms 이내에 백만 개 이상의 IOPS를 제공하며 MLPerf Storage v3.0 오브젝트 체크포인팅 벤치마크에서 1위를 차지했습니다.
- S3 Compatibility: GPU 플릿을 위한 S3 호환 오브젝트 스토리지를 제공합니다.
- KV Cache Management: GPU 노드 전체에 프리픽스를 캐싱하여 길고 반복적인 프롬프트에 대한 첫 번째 토큰 생성 시간(TTFT)을 크게 단축합니다.
- Lossless Compression: 비용 절감을 위해 BF16 KV 캐시를 위한 무손실 GPU 코덱인 ExANS를 포함합니다.
- Broad Utility: VectorDB를 위한 빠른 인덱스 구축 및 RL/ML 워크로드를 위한 초고속 체크포인팅을 지원합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트