PDX: A Data Layout for Vector Similarity Search
Kuffo, Leonardo, Krippner, Elena, Boncz, Peter
–arXiv.org Artificial Intelligence
We propose Partition Dimensions Across (PDX), a data layout for vectors (e.g., embeddings) that, similar to PAX [6], stores multiple vectors in one block, using a vertical layout for the dimensions (Figure 1). PDX accelerates exact and approximate similarity search thanks to its dimension-by-dimension search strategy that operates on multiple-vectors-at-a-time in tight loops. It beats SIMD-optimized distance kernels on standard horizontal vector storage (avg 40% faster), only relying on scalar code that gets auto-vectorized. We combined the PDX layout with recent dimension-pruning algorithms ADSampling [19] and BSA [52] that accelerate approximate vector search. We found that these algorithms on the horizontal vector layout can lose to SIMD-optimized linear scans, even if they are SIMD-optimized. However, when used on PDX, their benefit is restored to 2-7x. We find that search on PDX is especially fast if a limited number of dimensions has to be scanned fully, which is what the dimension-pruning approaches do. We finally introduce PDX-BOND, an even more flexible dimension-pruning strategy, with good performance on exact search and reasonable performance on approximate search. Unlike previous pruning algorithms, it can work on vector data "as-is" without preprocessing; making it attractive for vector databases with frequent updates.
arXiv.org Artificial Intelligence
Mar-6-2025
- Country:
- North America
- Europe
- Germany > Berlin (0.05)
- United Kingdom > England
- Cambridgeshire > Cambridge (0.04)
- Netherlands > North Holland
- Amsterdam (0.04)
- Denmark > Capital Region
- Copenhagen (0.04)
- Genre:
- Research Report (1.00)
- Technology:
- Information Technology
- Information Management (1.00)
- Data Science (1.00)
- Hardware (0.93)
- Artificial Intelligence
- Representation & Reasoning (1.00)
- Machine Learning > Statistical Learning (1.00)
- Natural Language > Information Retrieval (0.67)
- Information Technology