~/talk

Using Native CPU Vectorized Instructions for 60% Speedup on Lucene's KNN Vector Search

Talkat OpenSearchCon Europe 2026 · on Friday, 2026-04-17· at 09:55· Bohemia 1· [databases]
links:none on file
slides:none on file

Lucene’s dot‑product hotspot gets rewritten in native SIMD C and delivers a production 60% latency reduction on ARM, with microbenchmarks showing up to 10–13x (Graviton2) and 4–6x (Graviton3) throughput for large embeddings. Implementation ships as a single binary containing SVE and NEON intrinsics plus a scalar fallback, with a runtime resolver that picks the best function pointer. Major pitfall is copy overhead and GC interaction unless using linker.option.critical=true on JDK22, which removes copies but briefly pauses GC.

AI-written summary · about

  1. 0:00SIMD and vector search intro
  2. 1:27Why SIMD matters for search
  3. 4:15Java SIMD on ARM issues
  4. 7:00Neon and SVE extensions
  5. 8:03Native vectorization solution
  6. 10:08Compile-time details
  7. 11:13Runtime hardware detection
  8. 14:26Benefits of native vectorization
  9. 16:10Benchmark performance impact
  10. 17:12Indexing slowdown cause
  11. 19:40Java 22 memory copy fix
  12. 22:28GC pause considerations
  13. 23:32Production 60% latency gain
  14. 24:59Lucene SIMD approaches
  15. 27:05Enabling native SIMD in Lucene
  16. 29:13OpenSearch and community benefits
  17. 34:06Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.