Skip to content

Expand the bulk vector search micro benchmarks to include dataset larger than typical cache sizes. #138358

@ChrisHegarty

Description

@ChrisHegarty

In many of our vector search benchmark we time pure compute - timing the vector operation when both the vectors are in CPU cache. In many scenarios, e.g. HNSW, we score vectors that may not be in cache. In these scenarios it may be better to reflow the bulk scorer to small batches (say 4) vectors at a time, rather than aggressive unrolling per single-vector. If we do this we can improve the memory-level parallelism of the complete bulk operation. We've already seen this improve float32 vector ops in Lucene.

Metadata

Metadata

Assignees

Labels

:PerformanceAll issues related to Elasticsearch performance including regressions and investigations:Search Relevance/SearchCatch all for Search Relevance:Search Relevance/VectorsVector searchTeam:PerformanceMeta label for performance teamTeam:Search RelevanceMeta label for the Search Relevance team in Elasticsearch

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions