~/talk

The best multicore-parallelization refactoring you've never heard of

Talkat FHPNC 2023 · on Monday, 2023-09-04· [concurrency]
slides:none on file

Refactors a recursive tree-sum into two paths—a parallel fork‑join version and an optimized serial iterator—then merges them so task creation is triggered only after amortized work, claiming better granularity control and no stack overflows on degenerate inputs. Uses CPS conversion and defunctionalization to turn continuations into data, implements promotion via heartbeat scheduling (example H≈4, measured amortization ~100µs), runs on a 64‑core machine and shows higher speedups than Silk without crashing where Silk overflows.

AI-written summary · about

  1. 0:00Multicore parallelization intro
  2. 1:04Defunctionalization & CPS inspiration
  3. 2:10Parallel recursive algorithm
  4. 3:57Granularity control challenges
  5. 5:19Refactoring technique overview
  6. 6:01Lowering to CPS in parallel
  7. 8:09Fork-join to CPS parallel
  8. 9:12Defunctionalizing continuations
  9. 11:23Serial refactoring path
  10. 14:15Tail call elimination
  11. 16:22Heartbeat scheduling concept
  12. 17:25Heartbeat scheduling practice
  13. 20:15Introducing heartbeat
  14. 21:19Task spawning in heartbeat
  15. 23:26Merging algorithms
  16. 26:12Performance vs Silk
  17. 29:42Summary & future
  18. 31:51Q&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.