~/talk

Concurrent Data Structures Made Easy

Talkat OOPSLA 2024 · 2024-10-20..10-25· [concurrency, software-architecture]
links:none on file
links:none on file
links:none on file
slides:none on file

Library named OBatcher implements implicit batching in Multicore OCaml using async/await and functors; implicit-batching core is ~230 LOC, each generic strategy 150–200 LOC, a Rust prototype ~150 LOC. Batch-parallel strategies (notably split-join and expose-repair) convert sequential structures—Red‑Black, AVL, van Emde Boas, skip lists, plus a Datalog solver—into parallel versions. Benchmarks run with 2 million initial elements and 1 million concurrent operations; batch versions beat coarse‑grained locks from two domains onward and scale, but a hand-tuned fine‑grain skip list still outperforms due to batching overhead.

AI-written summary · about

  1. 0:00Concurrent data structures intro
  2. 1:46Coarse vs fine-grained limits
  3. 3:31Batch parallelism intro
  4. 5:40Split-join strategy
  5. 9:14Implementation & benchmarks
  6. 12:44Datalog solver batching
  7. 13:25Key takeaways & future
  8. 14:08Q&A: Supported ops & factors
  9. 15:56Q&A: Caching impact
  10. 17:03Q&A: Deadlocks in batch
  11. 18:07Q&A: Deletion handling
~/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.