Speakers
Description
Modern workloads and systems demand more of the scheduler. A server no longer
runs one type of workload, and general purpose interactive systems like Android
and Desktop are on the rise. The same workload runs on a large variety of hardware and architectures that have different capabilities in terms of
performance and power. And the end user for the same workload and hardware
might have different expectations on perf and power compared to another end
user.
Introducing a Quality of Service into the scheduler will help address all of
these issues. But it is a long and hard challenge that requires addressing
a number of problems in tandem to produce the desired final outcome of
a portable and flexible QoS that gives the users what they need and expect.
To reach a fully functioning QoS we need to look at the following problems:
-
What QoS plumbing the scheduler needs to expose and how can they be wrapped
with higher level QoS for the end application user? -
Our wakeup and load balancer paths need to be multimodal to cater for the
fact that task placement decisions now can be impacted by a user choice. -
Admin vs App vs User controls and precedence mechanisms. The user might want
something, the app might request something and the admin might want to
enforce something else. -
The adoption problem. Rewriting the whole userspace is not practical and
will take a long time. We need a simple mechanism to allow applying QoS
without requiring applications to opt-in. -
Performance and general QoS inheritance support without which the
effectiveness could be considerably impacted as performance and priority
inversion problems are common in practice. -
QoS is not an alternative to improving the scheduler behavior. We need to
look at default values and how they might need to be different for different
types of systems/expectations. We need better debuggability as well to
distinguish between cases that require scheduler fixes and cases that need
better or new QoS mechanisms.
We shall present a plan for how these problems can be potentially addressed in
hope to carve the path for a way forward.