ParlayANN: Scalable and Deterministic Parallel Graph-Based Approximate Nearest Neighbor Search Algorithms

Magdalen Dobson Manohar, Zheqi Shen, Guy E. Blelloch, Laxman Dhulipala, Yan Gu +2 more
5/7/2023
cs.IRcs.LG

No official code found. Best implementation: cmuparlay/ParlayANN (193 stars, MIT, last commit 2026-01-05).

Abstract

Approximate nearest-neighbor search (ANNS) algorithms are a key part of the modern deep learning stack due to enabling efficient similarity search over high-dimensional vector space representations (i.e., embeddings) of data. Among various ANNS algorithms, graph-based algorithms are known to achieve the best throughput-recall tradeoffs. Despite the large scale of modern ANNS datasets, existing parallel graph based implementations suffer from significant challenges to scale to large datasets due to heavy use of locks and other sequential bottlenecks, which 1) prevents them from efficiently scaling to a large number of processors, and 2) results in nondeterminism that is undesirable in certain applications. In this paper, we introduce ParlayANN, a library of deterministic and parallel graph-based approximate nearest neighbor search algorithms, along with a set of useful tools for developing such algorithms. In this library, we develop novel parallel implementations for four state-of-the-art graph-based ANNS algorithms that scale to billion-scale datasets. Our algorithms are deterministic and achieve high scalability across a diverse set of challenging datasets. In addition to the new algorithmic ideas, we also conduct a detailed experimental study of our new algorithms as well as two existing non-graph approaches. Our experimental results both validate the effectiveness of our new techniques, and lead to a comprehensive comparison among ANNS algorithms on large scale datasets with a list of interesting findings.

View on arXivView PDF

Code Implementations(1)

cmuparlay/ParlayANNCommunity100%
MIT

A library of algorithms for approximate nearest neighbor search in high dimensions, along with a set of useful tools for designing such algorithms.

19345C, C++Apr 12, 20239 months agoMIT

Similar Papers

Cite this paper

@article{manohar2023parlayann,
  title  = {ParlayANN: Scalable and Deterministic Parallel Graph-Based Approximate Nearest Neighbor Search Algorithms},
  author = {Magdalen Dobson Manohar and Zheqi Shen and Guy E. Blelloch and Laxman Dhulipala and Yan Gu and Harsha Vardhan Simhadri and Yihan Sun},
  year   = {2023},
  eprint = {2305.04359},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2305.04359v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2305.04359.svg)](https://codeofpaper.com/paper/2305.04359)

Discussion