From: David Vernet <void@manifault.com>
To: lsf-pc@lists.linux-foundation.org
Cc: bpf@vger.kernel.org, joel@joelfernandes.org, htejun@kernel.org,
schatzberg.dan@gmail.com, andrea.righi@canonical.com,
davemarchevsky@meta.com, changwoo@igalia.com,
julia.lawall@inria.fr, himadrispandya@gmail.com
Subject: [LSF/MM/BPF TOPIC] Discuss more features + use cases for sched_ext
Date: Fri, 26 Jan 2024 15:59:08 -0600 [thread overview]
Message-ID: <20240126215908.GA28575@maniforge> (raw)
[-- 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 --]
next reply other threads:[~2024-01-26 21:59 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-26 21:59 David Vernet [this message]
2024-01-29 22:41 ` [LSF/MM/BPF TOPIC] Discuss more features + use cases for sched_ext 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240126215908.GA28575@maniforge \
--to=void@manifault.com \
--cc=andrea.righi@canonical.com \
--cc=bpf@vger.kernel.org \
--cc=changwoo@igalia.com \
--cc=davemarchevsky@meta.com \
--cc=himadrispandya@gmail.com \
--cc=htejun@kernel.org \
--cc=joel@joelfernandes.org \
--cc=julia.lawall@inria.fr \
--cc=lsf-pc@lists.linux-foundation.org \
--cc=schatzberg.dan@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox