PDX: A Data Layout for Vector Similarity Search
PDX is a transposed data layout for vectors that store the dimensions of different vectors together. You can read more about PDX in my blog-posts: Sub-millisecond similarity search on IVF indexes with PDX and What if we store vector embeddings vertically?
Bang for the Buck: Vector Search on Cloud CPUs
🎖️ Best paper award at DaMoN'25
Choosing the right CPU for vector search in the cloud can give you 3 times more performance. In our publication, we delve into the reasons behind these performance differences and examine five microarchitectures under the microscope: Intel Sapphire Rapids, AMD Zen 4, AMD Zen 3, AWS Graviton 4, and AWS Graviton 3. Surprisingly, AWS Graviton 3 is the microarchitecture that almost always gives the best “bang for the buck”!
ALP: Adaptive Lossless floating-Point Compression
🎖️ Best artifact award at SIGMOD'24
ALP is an algorithm that compresses float and double data with an insane decompression speed (sub-cycle performance per tuple). ALP speed stems from its simple algorithm and its vectorized design. ALP is currently being used inside DuckDB, for which I contributed the implementation. Other systems that implement ALP are FastLanes, Vortex, and (soon) Parquet and ClickHouse. There is a YouTube video of me presenting ALP.
Current Projects (looking for MSc. students!)
I am working on the PDX layout to turn it into a fully fledged library. We need to: (i) Support quantized vectors. (ii) Support predicated queries. (iii) Support HNSW indexes.
If you are an MSc. student in the EU looking for thesis projects and are interested in Vector Similarity Search, you can apply to CWI, Amsterdam, by writing to [email protected]. If accepted, you will be supervised by the one and only Peter Boncz.