금주 수행한 내용

Local NVMe vs SAN NVMe

MEMORYBRIDGE 논문 리뷰를 통해 얻은 인사이트

  • 클라우드에서의 디스크 I/O는 로컬 NVMe 대비 지연이 큼
  • GNN 학습 또는 vector 검색 시, 디스크 접근 병목이 bottleneck
  • 메모리-연산 분리 구조(MemoryBridge)는 클라우드 환경에서 오히려 비용/성능 측면에서 더 효율적임

Cloud Service의 Storage는 왜 local NVMe보다 느린걸까? 실제로 클라우드 서비스들은 VM에 유동적으로 storage를 붙일 수 있게, SAN 구조로 스토리지를 붙임

SAN (Storage Attached Network)

  • 실제로 aws상에서 Fibre Channel 기반 SAN 을 사용하는지, Ethernet 기반의 스토리지 네트워크를 쓰는지는 확인이 어려움
항목Local NVMeAWS EBS (Cloud Block Storage)
물리적 연결서버 내부 PCIe 직결Nitro Hypervisor ↔ ENA NIC ↔ EBS 스토리지 네트워크
IO 경로CPU ↔ NVMe (직접 연결)CPU ↔ Nitro ↔ ENA NIC ↔ EBS 서버 (네트워크 기반 블록 장치)
Latency수십 µs 수준수백 µs ~ ms (EBS 타입 및 네트워크 상태에 따라 다름)
IOPS수백만 IOPS 가능gp3: ~16K IOPS / io2: ~64K IOPS
멀티 테넌시없음있음 (스토리지 I/O 경합 발생 가능)
사용 인터페이스NVMeNVMe (Nitro 기반 인스턴스), 또는 emulated SCSI 인터페이스
  • AWS 공식 문서에 따르면, EBS는 EC2 인스턴스에 NVMe 또는 SCSI 인터페이스로 노출됨

Insight

  • 클라우드 환경에서는 디스크 I/O latency와 경합이 빈번하므로, 연산 노드와 I/O 캐시 노드의 분리 구조는 매우 유효함
  • HNSW, DiskANN, FAISS와 같은 벡터 검색 구조도
    • 고빈도 노드 pre-caching
    • tiered memory architecture
    • batch pipeline 전송 등의 구조로 확장 가능함

차주 수행할 내용

  • EBS (gp3) vs 로컬 NVMe 간 4KB random read latency 및 throughput 비교