Automatic Parallelism Management
summary
A research compiler called MaPLe compiler implements an automatic parallelism manager that delays task creation and amortizes spawn cost using a microsecond-rate heartbeat scheduling with tunable token counts; it adds a promotion stack to find the oldest promotable frame and promotes by copying frames. Experiments on 72–80 cores show up to 40x speedup over sequential C++ and often within 1–2x of manually tuned parallel C++, with some benchmarks still 2–3x behind.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 6:48MaPLe compiler overview
- 11:02Granularity control problem
- 16:18Heartbeat scheduling mechanism
- 23:09Work and span efficiency
- 25:13Experimental results
- 27:41Zero-overhead vision
- 31:14Loop splitting challenges
- 34:26Q&A
related talks
01h 02m“Parallelism in Modern C++"
56mParallelizing the C++ Standard Template Library
39mThe best multicore-parallelization refactoring you've never heard of
01h 00mC++ Standard Parallelism
43mParallel Algorithms: Work Smarter, Not Harder
48m“Is Parallel Programming still hard? PART 2 of 2”
25mResponsive Parallelism with Synchronization
01h 04mMaking fun with parallelism in .NET
