The Benefits and Limitations of User Interrupts for Preemptive Userspace Scheduling
summary
User interrupts on recent Intel CPUs lower preemption overhead versus signals and avoid the unpredictable kernel path of signals, while compiler instrumentation sometimes costs up to 90% slowdown. Two user‑level schedulers are built: Aspen KB (kernel‑bypass) and Aspen Go (minimal changes to Go). Aspen KB reduces preemption events by over 70%, raises throughput ~30% versus non‑preemptive runs and yields >50% gains on RocksDB workloads, but Aspen Go and existing network stacks limit benefits, so broader software changes remain necessary.
AI-written summary · about
chapters (7)
- 0:00User interrupts for scheduling
- 2:42Preemption mechanisms limits
- 4:07Preemption methods comparison
- 7:58Aspen KB with user interrupts
- 11:14User interrupts in Go runtime
- 12:44Performance evaluation
- 15:15Conclusion & Q&A
related talks
26mPardon the Interruption: Loop Preemption in Go 1.14
01h 01mConcurrency Challenges of Interrupt Service Routines
44mRestartable Sequences: Scheduler-Aware Scaling of Memory Use on Many-Core Systems
42mRuntime scheduling: theory and reality
42mInter Process Confusion - Navigating Zephyr's IPC APIs
54mIntroduction to Realtime Linux
01h 00mOut-of-order execution - what can it do for me?
19mDo nothing fast: How to scale idle cpus?
