Re: [PATCHSET v6] sched: Implement BPF extensible scheduler class

Tejun Heo
2024-06-24T18:11:40Z

Hello,

On Mon, Jun 24, 2024 at 12:42:01PM -0400, Chris Mason wrote:
...
> > - How is this supposed to work with different applications requiring
> > different sched_ext schedulers?
>
> I'll let Tejun pitch in on this one.

Long term, the tentative plan is to support a hierarchy of schedulers where
the intermediate schedulers are responsible for granting CPUs to leaf
schedulers which are responsible for scheduling tasks. Barret Rhoden has a
framework called flux on top of ghost which already implements this albeit
with compile time composition. Nothing is set in stone yet but it's likely
that I'll follow what Barret is doing in many parts.

Taking a step back, because sched_ext currently supports a single
system-wide scheduler, many of the techniques that the current crop of
schedulers are playing with are pretty generic, at least to a class of
problems - e.g. gaming.

Even for scx_layered which is the least generic in a sense, while we it's
also used for a really specific ML setup internally too, what it's more
widely used for is experimenting with things like soft affinity where e.g.
workloads that are not latency sensitive are grouped into few hot running
CPUs which are dynamically scaled to keep caches cleaner (and other effects
too) for the latency sensitive parts of the system. Dan Schatzberg is trying
to generalize that with scx_mitosis.

So, the summry is that there are plans to support a tree of schedulers but
we're currently mostly focusing on more generic single scheduler
experiments.

Thanks.

--
tejun