~/talk

Faster Analytical Queries with the Cypher Parallel Runtime

Talkat NODES 2024 · on Thursday, 2024-11-07· [databases]
links:none on file
slides:none on file

Neo4j’s Parallel Runtime executes a single Cypher query across multiple threads when opted in per query, targets read‑only analytical workloads and cannot write. It adds work stealing and partitioned operators, rewrites aggregations, and reuses memory buffers. Benchmarks show many slow queries run 5–6× faster and near‑linear scaling as CPUs increase after fixes that removed thread starvation and CPU‑count regressions. Opt‑in is the only config change; expect faster long‑running scans, variable‑length traversals and label subtraction patterns, but not faster sub‑millisecond lookups.

AI-written summary · about

  1. 0:00Introduction to parallel runtime
  2. 1:39What is the parallel runtime
  3. 3:49Targeting analytical queries
  4. 4:54Query engine lifecycle
  5. 6:19Opting into parallel runtime
  6. 7:22Execution graph and morsels
  7. 9:13Parallel execution in action
  8. 10:16Performance benchmarks
  9. 12:49Scaling challenges
  10. 13:55Thread monitoring tool
  11. 15:38Work stealing improvements
  12. 16:22Thread starvation issue
  13. 18:11Fixing scheduling problems
  14. 19:14CPU scaling results
  15. 19:36Memory and aggregation fixes
  16. 20:20Percentile aggregation improvements
  17. 21:23Dedicated partition operators
  18. 22:08Summary and future
~/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.