Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GustANN (SIGMOD 2026)

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →
Avatar for Kwanwoo Son Kwanwoo Son
November 04, 2026

GustANN (SIGMOD 2026)

SIGMOD 2026 논문 GustANN 서베이

Avatar for Kwanwoo Son

Kwanwoo Son

November 04, 2026

More Decks by Kwanwoo Son

Other Decks in Research

Transcript

  1. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU Overview

    Introduction Motivation Challenge GustANN Evaluation Conclusion
  2. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU Introduction

    ANNS Use Cases ANNS는 Web Search, Recommendation Systems, RAG 등에 활용 실제 서비스에서 Billion-scale Dataset과 약 100K QPS 규모의 검색 수요 발생 Needs for High-throughput, Cost-effective ANNS Billion-scale Vector Search에서 높은 Throughput과 Cost-effectiveness 요구 $/QPS = 시스템 하드웨어 비용 ÷ QPS (낮을수록 효율적) On-SSD Graph-based ANNS: 동일 Hardware Configuration에서 Cluster-based 대비 높은 Throughput 제공 GustANN: On-SSD Graph-based ANNS의 시스템 성능 최적화에 초점
  3. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU Motivation:

    CPU Computing Bottleneck DiskANN의 SSD bandwidth: 약 6 GB/s 단일 SSD 최대 Bandwidth 10 GB/s의 약 60% Ideal System Analysis Worker Thread 시간: Computing 약 1/6, SSD Read Waiting 약 5/6 완벽한 I/O-Computation Overlap을 가정해도 약 36 GB/s 6 SSD의 최대 Aggregate Bandwidth (60 GB/s)에 미달 56 CPU Cores로 SSD 약 3.6개분의 Bandwidth만 활용 가능 Limitation CPU Computing Power가 Multiple SSD 활용의 병목 동일 QPS 달성에 더 많은 서버가 필요하여 $/QPS 증가
  4. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU Motivation:

    Limitations of Existing GPU-based ANNS CPU-centric, GPU-assisted CPU에서 Main Search Process를 수행하고 GPU에 Vector Computation Offloading Cluster-based ANNS: 높은 Distance Computation 비중으로 GPU Offloading이 효과적 Graph-based ANNS: 상대적으로 낮은 Computation 비중으로 GPU Offloading 효과 제한 GPU-only Graph Traversal과 Vector Computation 모두 GPU에서 수행 CPU Search Bottleneck 해소 Limitations CPU-centric, GPU-assisted → CPU Search Bottleneck 잔존 GPU-only → GPU Memory 및 Inbound Transfer Bandwidth가 새로운 병목으로 작용
  5. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU Challenge

    GustANN: GPU-centric, CPU-assisted Architecture GPU에서 graph search를 수행하고 CPU가 data transfer를 보조 Memory-Efficient GPU Kernels for Graph Search Problem: Query별 높은 GPU Memory 사용량으로 Concurrency 제한 Key Idea: 일부 Redundant Computation을 허용해 Memory Footprint 감소 CPU-Assisted Transfer Problem: Page 단위 GPU Direct-access로 Inbound Bandwidth 낭비 Key Idea: CPU에서 필요한 Graph Record만 선택해 GPU로 전송 Pivot Search Problem: Single-entry Graph Search로 SSD 간 Load Imbalance 발생 Key Idea: Query별 Entry Node를 분산해 SSD Load Balancing 개선
  6. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU GustANN

    System Overview SSD: Full-Precision Vectors 및 Neighbor ID GPU HBM: PQ code와 Pivot Graph CPU DRAM: CPU-assisted Transfer를 위한 Bouncing Buffer
  7. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU GustANN:

    Memory-Efficient Graph Traversal Kernel Problem: Memory-Consuming Search Process Limits Concurrency High Concurrency Requirement GPU와 SSD의 throughput을 높이려면 많은 query와 I/O request를 동시에 처리해야 함 Memory Overhead of Visited Table 기존 graph-based ANNS는 중복 PQ distance 계산을 방지하기 위해 Query별 Visited Table 유지 Ex. L = 300, R = 128, Node ID당 4 Bytes 최소 L × R × 4 ≈ 150KB 필요 Hash Table의 여유 공간을 고려하면 실제 300KB 초과 약 40,000 Concurrent Queries에서 Visited Table만 11.5GB 초과
  8. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU GustANN:

    Memory-Efficient Graph Traversal Kernel Key Idea: Sort First, Then Deduplicate ➊ Parallel PQ Distance Computation 현재 탐색 노드의 R개 Neighbor에 R개 GPU thread 배정 Ex. R = 128 → 128 Threads (4 Warps) 중복 Neighbor도 포함하여 PQ Distance 병렬 계산 ➋ Parallel Sorting & Merging 새 Neighbor들을 PQ Distance순으로 정렬 기존 Candidate Set과 Parallel Merge Sort로 병합 PQ Distance 계산과 정렬을 결합해 GPU Shared Memory 활용
  9. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU GustANN:

    Memory-Efficient Graph Traversal Kernel ➌ Parallel Deduplication 정렬·병합된 Candidate Set에서 중복 Node ID 제거 32개 GPU Thread가 Warp 단위로 병렬 Scan 인접 Node ID 비교 → 중복 정보 공유 → 누적 중복 개수 계산 중복 원소를 제거하고 나머지 원소의 위치 조정 Scan 범위: 최대 min(L+R, 2L)개 ➍ Candidate Set Update 중복 제거 후 가까운 L개 후보 유지 Explored Bit로 미탐색 후보 중 가장 가까운 노드를 선택
  10. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU GustANN:

    Memory-Efficient Graph Traversal Kernel Effect: Memory-Efficient GPU Search Lower Search-State Memory Footprint Query별 Visited Table을 제거해 GPU 메모리 사용량 감소 Per-query Memory: 480KB → 40.22KB (11.93× 절감) BANG 대비, SIFT100M 기준 (L=100, k=10) Higher GPU·SSD Concurrency 절약한 GPU 메모리로 더 큰 Batch Size와 높은 Query Concurrency 지원 40,000 Concurrent Queries 기준 메모리 사용량 BANG: 18.3GB → GustANN: 1.53GB 더 많은 Query와 I/O Request를 동시에 처리해 GPU·SSD 활용률을 높일 수 있는 기반 마련
  11. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU GustANN:

    CPU-Assisted Transfer Problem: GPU Direct-Access Limits SSD Utilization Asymmetric Bandwidth SSD Aggregate Bandwidth가 GPU Inbound Bandwidth를 초과 6 SSDs (PCIe 5.0 ×4 각각): 약 60 GB/s NVIDIA A100 (PCIe 4.0 ×16): 최대 24 GB/s GPU Direct-access는 GPU Inbound Bandwidth로 인해 다중 SSD의 대역폭 활용이 제한됨 Page-level Transfer Overhead GPU Direct-access는 SSD Page 전체를 GPU로 전송 실제 Graph Traversal에서는 하나의 Record만 사용 DEEP1B Record: 96 × 4bytes + 128 × 4bytes = 896bytes SSD Page: 4KB → 필요한 Record는 Page의 약 22%
  12. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU GustANN:

    CPU-Assisted Transfer Key Idea: CPU-Assisted Selective Transfer ➊ SSD → CPU DRAM: Page-Level Transfer SSD Page 전체를 CPU DRAM의 Bouncing Buffer로 전송 CPU DRAM의 높은 전송 대역폭을 활용해 SSD Aggregate Bandwidth 수용 논문 설정에서는 4개 DRAM Chip으로 약 60 GB/s 수용 ➋ CPU DRAM → GPU: Record-Level Transfer DRAM에 저장된 Page에서 필요한 Graph Record만 GPU로 전송 GPU Inbound Bandwidth 요구량 75% 이상 감소 DEEP1B 기준 최대 60GB/s × 25% = 15GB/s 이하 A100 Inbound Bandwidth 24 GB/s 이내
  13. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU GustANN:

    CPU-Assisted Transfer Effect: Higher SSD Utilization and Search Throughput Reduced GPU Inbound Bandwidth GustANN은 필요한 Record만 GPU에 전송 GPU Inbound PCIe Bandwidth가 SSD Read Bandwidth의 약 28.6% Higher SSD Utilization & Throughput GustANN은 GPU Inbound Bandwidth 부담을 줄여 SSD 대역폭 활용도 향상 BaM-ANN 대비 2.50–2.71× 높은 Throughput 달성 Limitation: High-dimensional Vectors 고차원 벡터는 Graph Record가 SSD Page보다 커질 수 있음 논문은 저장 전 차원 축소를 해결 방향으로 제안
  14. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU GustANN:

    Inter-query Pipelining Problem: Sequential Dependency 각 Query는 SSD Phase와 GPU Phase를 반복하며 Graph Traversal 수행 하나의 Query에서는 두 Phase 사이에 순차적 의존성 존재 SSD Phase: SSD → CPU DRAM → GPU로 Record 전송 GPU Phase: 거리 계산 및 다음 Exploring Node 선택 단일 Batch를 순차적으로 처리하면 SSD와 GPU에 유휴시간 발생 Key Idea: Mini-batch Pipelining 서로 다른 Query들을 여러 Mini-batch로 분할 각 Mini-batch의 SSD Phase와 GPU Phase를 중첩 SSD와 GPU의 유휴시간을 줄여 전체 Throughput 향상
  15. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU GustANN:

    Load Balance with Pivot Search Problem: Single Entry Causes Micro-Scale Load Imbalance Single-entry Design RAID-0으로 SSD Page를 분산해도 SSD별 Read Tail Latency 불균형 발생 SSD별 P99 Read Latency 최대 2.17× 차이 기존 Graph-based ANNS는 모든 Query가 동일한 Entry Node에서 탐색 시작 초기 Iteration에서 Entry 주변의 작은 Graph Region에 접근 집중 Micro-scale Load Imbalance 초기 탐색 영역의 일부 Node에 접근이 집중 10,000 Queries 기준 첫 Iteration의 Node별 Access Count 중앙값 48회 vs. 최대 657회 (13.7×) 특정 Node와 SSD에 요청이 집중되면서 Tail Latency 편차 발생 느린 SSD Read가 Batch 전체의 진행을 지연시키는 GPU Bucket Effect 발생
  16. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU GustANN:

    Load Balance with Pivot Search Key Idea: GPU-Resident Pivot Graph for Load Balancing ➊ GPU-Resident Pivot Graph Construction 전체 Dataset에서 일부 Pivot Vector를 무작위로 Sampling Ex. Billion-scale dataset의 0.1% Pivot vector로 작은 Pivot Graph G' 구축하고 GPU HBM에 저장 ➋ Query-Specific Entry Selection 각 Query가 GPU의 Pivot Graph에서 Top-1 Pivot Search 수행 선택된 Pivot Node를 Entry Node로 사용해 SSD-resident Graph Search 시작 Lightweight Pivot Search 1. Search Length = 4 → 높은 Pivot Search Recall이 불필요하므로 탐색 비용 감소 2. Full-precision Vector → 작은 Pivot Graph이므로 PQ 압축 없이 거리 계산 3. Selection Sort → 작은 Candidate Set에서 GPU 병렬화에 유리
  17. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU GustANN:

    Load Balance with Pivot Search Effect: Improved SSD Load Balance and Search Performance Improved SSD Load Balance Pivot Search 적용 후 SSD별 Read Latency 편차 감소 L = 30에서 Tail Latency 분포가 더 균일해짐 초기 탐색의 접근 집중을 분산해 Batch 내 Load Imbalance 완화 Higher SSD Utilization & Throughput Throughput 최대 1.50× 향상 낮은 Recall 구간에서 개선 효과가 더 크게 나타남 SSD Bandwidth 최대 1.23× 향상
  18. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU Evaluation

    System Configuration NVIDIA A100 40GB GPU 1개 Samsung PM1743 SSD 6개 Throughput 최대 247K QPS 달성 SIFT1B: 7.81× DEEP1B: 6.98× SSD Utilization 최대 86.7% SSD Bandwidth Utilization 달성 SIFT1B에서 DiskANN은 최대 13.7% CPU 검색 병목을 완화해 다중 SSD의 대역폭을 더 충분히 활용
  19. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU Evaluation

    Increasing the Number of SSDs GustANN은 SSD 수 증가에 따라 Throughput과 SSD Bandwidth 모두 증가 GPU 연산 능력을 활용해 추가된 SSD의 I/O 성능을 효과적으로 활용 DiskANN은 SSD 수가 증가해도 Throughput 및 Bandwidth 증가가 제한적
  20. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU Evaluation

    Larger Query Set Query Set이 커져도 기존과 유사한 Search Throughput 유지 동일한 Search Length에서 DiskANN 대비 6.08–9.65× 높은 Throughput SSD Utilization 최대 79.1% L이 작을 때: 탐색 비용이 작고 QPS가 높지만 Recall은 낮아질 수 있음 L이 클 때: 탐색 비용이 증가하고 QPS가 낮아지지만 Recall은 높아질 수 있음
  21. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU Evaluation

    GustANN은 비교 시스템보다 낮은 cost per QPS 달성 (0.097 $/QPS) CPU+SSD: 0.404 Ideal CPU+SSD: 0.156 CPU+GPU: 0.255
  22. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU Evaluation:

    Throughput–Latency Trade-off Throughput–Latency Trade-off 최대 Throughput 달성 시 평균 Search Latency 약 140ms 평균 Latency를 25ms 미만으로 제한하면 최대 Throughput의 약 1/5 달성 높은 Concurrency와 Batch Processing으로 Throughput을 높이는 대신 Query Latency 증가
  23. High-Throughput, Cost-Effective Billion-Scale Vector Search with a Single GPU Conclusion

    GustANN: High-Throughput GPU-Centric, CPU-Assisted ANNS System Memory-Efficient GPU Graph Traversal → GPU Memory 사용량 감소 및 Query Concurrency 향상 CPU-Assisted Selective Transfer → GPU Inbound Bandwidth 병목 완화 GPU-Resident Pivot Search → 다중 SSD 간 Load Imbalance 완화 Result 동일 Recall에서 기존 ANNS 시스템 대비 높은 Query Throughput 달성 기존 시스템 대비 높은 Cost-effectiveness 달성 Takeaway GPU Graph Traversal과 CPU-assisted Transfer를 결합해 다중 SSD의 대역폭 활용 극대화 메모리·전송·부하 불균형을 최적화한 High-Throughput ANNS 시스템 제시