SpANNS: Optimizing Approximate Nearest Neighbor Search for Sparse Vectors Using Near Memory Processing
Tianqi Zhang, Flavio Ponzina, Tajana Rosing
TL;DR
This work targets the bottleneck of sparse ANNS in information retrieval by introducing SpANNS, a near-memory processing accelerator on a CXL Type-2 platform. The design combines a two-level hybrid inverted index (level-1 content-based filtering and level-2 silhouette-based clustering) with a forward index, and distributes computation across L2Inv and F-Idx DIMMs to minimize host data movement. Key contributions include a novel NMP-friendly indexing scheme, a detailed architecture with a Type-2 controller and compute-enabled DIMMs, and runtime optimizations for sparsity-aware distance computation and load balancing. Empirically, SpANNS achieves up to 15–22x speedups over CPU baselines and up to ~1500x over GPU-exhaustive search while maintaining high recall, demonstrating practical scalability for hybrid IR pipelines that rely on sparse embeddings.
Abstract
Approximate Nearest Neighbor Search (ANNS) is a fundamental operation in vector databases, enabling efficient similarity search in high-dimensional spaces. While dense ANNS has been optimized using specialized hardware accelerators, sparse ANNS remains limited by CPU-based implementations, hindering scalability. This limitation is increasingly critical as hybrid retrieval systems, combining sparse and dense embeddings, become standard in Information Retrieval (IR) pipelines. We propose SpANNS, a near-memory processing architecture for sparse ANNS. SpANNS combines a hybrid inverted index with efficient query management and runtime optimizations. The architecture is built on a CXL Type-2 near-memory platform, where a specialized controller manages query parsing and cluster filtering, while compute-enabled DIMMs perform index traversal and distance computations close to the data. It achieves 15.2x to 21.6x faster execution over the state-of-the-art CPU baselines, offering scalable and efficient solutions for sparse vector search.
