배턴: BatANN을 통한 고처리량 분산 디스크 기반 벡터 검색
초록
BatANN은 단일 글로벌 그래프를 유지하며 서버 수에 따라 처리량이 거의 선형적으로 확장되는 분산 디스크 기반 근사 최근접 이웃(ANN) 검색 시스템입니다. 쿼리 실행 중 다른 서버에 저장된 이웃에 접근해야 할 때, 전체 쿼리 상태를 해당 서버로 전달하여 로컬에서 검색을 계속하는 ‘상태 전달’ 방식을 핵심 혁신으로 제안합니다. 표준 TCP 네트워크에서 10개 서버로 0.95 리콜을 달성하며, 기존 scatter-gather 방식 대비 최대 6.49배 높은 처리량과 6ms 미만의 평균 지연 시간을 보입니다.
상세 분석
BatANN의 핵심 기술적 기여는 분산 환경에서 그래프 기반 ANN 검색의 통신 오버헤드를 근본적으로 재설계한 ‘상태 전달(State-Passing) 쿼리 프로시저’에 있습니다. 기존 분산 글로벌 그래프 접근법(DistributedANN, CoT ra)이 요청-응답 패턴을 사용해 원격 노드의 데이터를 가져오는 동안, BatANN은 쿼리의 현재 빔(beam) 상태 전체를 네트워크를 통해 원격 서버로 직접 전송합니다. 이는 통신 라운드트립 횟수를 절반으로 줄이고, 데이터 지역성을 극대화하여 원격 서버가 즉시 로컬 데이터로 검색을 계속할 수 있게 합니다.
이 방식은 상대적으로 높은 지연을 가지는 표준 TCP 네트워크에서도 효율적으로 동작하도록 설계된 점이 중요합니다. RDMA와 같은 고가의 특수 하드웨어에 의존하지 않아, 더 광범위한 상용 클라우드 및 온프레미스 환경에 적용 가능성을 열었습니다. 성능 향상의 또 다른 축은 ‘이웃 인식 그래프 파티셔닝’입니다. Gottesburen 등의 기법을 활용해 그래프를 분할하여, 트래버셜 중 인접 노드가 동일한 서버에 할당될 확률을 높입니다. 이로 인해 쿼리 상태가 서버 간 전달되는 빈도가 줄어들고, 한 서버 내에서 더 많은 로컬 작업이 가능해집니다.
실험 결과는 이 설계의 유효성을 입증합니다. 1억 및 10억 규모 데이터셋에서 10개 서버를 사용할 때, scatter-gather 베이스라인 대비 각각 6.21–6.49배, 2.5–5.10배의 처리량 향상을 보였습니다. 이는 분산 그래프 검색이 이론적으로 가지는 로그적 검색 복잡도의 이점을 실제 처리량으로 실현했음을 의미합니다. 또한 평균 지연 시간을 6ms 이하로 유지하며 높은 처리량에서도 낮은 지연을 보장하는 ‘안정적인 성능’을 확인할 수 있습니다. 이는 BatANN이 단순한 처리량 확장을 넘어, 실제 프로덕션 환경에서 요구되는 예측 가능한 응답 시간을 제공할 잠재력을 가짐을 시사합니다.
댓글 및 학술 토론
Loading comments...
의견 남기기