~/talk

Runtime scheduling: theory and reality

Talkat Strange Loop 2016 · 2016-09-16..09-17· [concurrency]
links:none on file
slides:none on file

Compares the Linux kernel CFS, Go's M/P/G runtime and Erlang's BEAM with concrete measurements: a pipe ping‑pong benchmark via perf bench sked_pipe shows ~4.5 µs per op (≈2.25 µs per context switch) which falls to ~1 µs after core pinning; a Go channel ping‑pong measures ~2 µs switches; Erlang uses a reduction budget 2000 to force sub‑millisecond preemption. Uses ftrace and perf sched to inspect behavior. Conclusion: Go trades predictability for throughput; Erlang trades throughput for tight, predictable latency.

AI-written summary · about

  1. 0:00Start
  2. 1:58User Space Schedulers
  3. 2:35Scheduling in Kernel-Space
  4. 3:10The Duration of a Context Switch
  5. 3:45Estimating the Intrinsic Direct Cost of a Context Switch
  6. 8:31Active Benchmarking
  7. 10:09Internals of the Linux Kernel Scheduler
  8. 11:39Design Principles
  9. 14:37Interrupt Handler
  10. 19:20Scheduling in Userspace
  11. 22:21The Go Scheduler
  12. 25:21Erlang
  13. 27:28Implications of this Design
  14. 27:54Consequences
  15. 33:10The Distinction between Context Switching between Native Threads and between Green Threads
  16. 35:51Cache Utilization
~/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.