"Runtime scheduling: theory and reality" by Eben Freeman
HTML-код
- Опубликовано: 26 авг 2024
- Whether you're using plain old OS threads or a userspace threading model, understanding the subtleties of scheduling and how it affects parallel programs can be tricky. As systems and performance engineers, there are many questions we can ask:
Can we quantify the tradeoffs between native threads and green threads? How expensive are context switches really? How can a scheduler trade off throughput and latency? How should we evaluate scheduler performance? And what do we really mean by performance, anyways?
Let's talk about the essentials of scheduling in the Linux kernel, and then take a deep dive into the schedulers implemented in the Erlang and Go runtimes. We'll compare the design decisions they make, and get an idea of the fundamentals of scheduler design. Along the way, we'll discuss those questions, and explore how we can actually analyze scheduler behavior in action.
This is excellent
Interesting how we have trouble understanding what EXACTLY is happening in the kernel at any one time given its complexity.
11:43 Completely Fair Scheduler (CFS)
thanks for this!!