Automatic Parallelism Management
summary
Fine-grained Fork–Join Parallel ML gets a nearly zero-cost call convention that adds two return addresses and copies the stack frame so a continuation can be promoted into a task without allocating a full closure. A runtime uses an interrupt timer (every 500 μs) and token-based amortized spending to drive a provably efficient promotion algorithm. Implemented in Maple, it cuts a worst-case 46× slowdown down to about 2–3× on 64 cores while preserving work and span.
AI-written summary · about
chapters (14)
- 0:00Automatic parallelism intro
- 0:26Fine-grained task parallelism
- 3:13Granularity control problem
- 5:20Automatic parallelism overview
- 7:24Compilation pipeline & PEcall
- 10:51Dynamic promotion scheduling
- 12:35Experimental results
- 13:59Summary & implementation
- 16:28Q&A overhead & promotions
- 18:32When promotions occur
- 20:36LLVM integration
- 22:19Compatibility with futures
- 23:21Promotions & cache locality
- 24:22Final Q&A & conclusion
