BPF List
 help / color / mirror / Atom feed
* [LSF/MM/BPF TOPIC] Discuss more features + use cases for sched_ext
@ 2024-01-26 21:59 David Vernet
  2024-01-29 22:41 ` Joel Fernandes
  2024-02-19  8:48 ` Muhammad Usama Anjum
  0 siblings, 2 replies; 9+ messages in thread
From: David Vernet @ 2024-01-26 21:59 UTC (permalink / raw)
  To: lsf-pc
  Cc: bpf, joel, htejun, schatzberg.dan, andrea.righi, davemarchevsky,
	changwoo, julia.lawall, himadrispandya

[-- Attachment #1: Type: text/plain, Size: 1732 bytes --]

Hello,

A few more use cases have emerged for sched_ext that are not yet
supported that I wanted to discuss in the BPF track. Specifically:

- EAS: Energy Aware Scheduling

While firmware ultimately controls the frequency of a core, the kernel
does provide frequency scaling knobs such as EPP. It could be useful for
BPF schedulers to have control over these knobs to e.g. hint that
certain cores should keep a lower frequency and operate as E cores.
This could have applications in battery-aware devices, or in other
contexts where applications have e.g. latency-sensitive
compute-intensive workloads.

- Componentized schedulers

Scheduler implementations today largely have to reinvent the wheel. For
example, if you want to implement a load balancer in rust, you need to
add the necessary fields to the BPF program for tracking load / duty
cycle, and then parse and consume them from the rust side. That's pretty
suboptimal though, as the actual load balancing algorithm itself is
essentially the exact same. The challenge here is that the feature
requires both BPF and user space components to work together. It's not
enough to ship a rust crate -- you need to also ship a BPF object file
that your program can link against. And what should the API look like on
both ends? Should rust / BPF have to call into functions to get load
balancing? Or should it be automatically packaged and implemented?

There are a lot of ways that we can approach this, and it probably
warrants discussing in some more detail.

If anybody else has ideas on things they'd like to discuss; either
sched_ext features that are missing, or scheduling ideas that we could
try to implement but just haven't yet, please feel free to share.

Thanks,
David

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-02-19  9:25 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-26 21:59 [LSF/MM/BPF TOPIC] Discuss more features + use cases for sched_ext David Vernet
2024-01-29 22:41 ` Joel Fernandes
2024-01-29 22:42   ` Joel Fernandes
2024-01-30  0:15     ` David Vernet
2024-01-30  1:50     ` Tejun Heo
2024-02-19  9:25       ` Joel Fernandes
2024-02-19  8:48 ` Muhammad Usama Anjum
2024-02-19  9:11   ` Joel Fernandes
2024-02-19  9:14     ` Joel Fernandes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox