Optimizing Chromium Low-Power Workloads on Intel Notebooks - Len Brown, Ricardo Neri, Vaibhav Shanka

  Рет қаралды 166

Linux Plumbers Conference

Linux Plumbers Conference

Күн бұрын

At LPC 2022 we hosted an Energy Quality of Service (EQOS) API discussion. The proposed API enables user-space to inform the kernel about something it is expert in: itself. Callers do not require any knowledge of the hardware, unrelated tasks, or the internal workings of the scheduler. The session sparked a lot of follow-on discussions, with the main take-away being “okay, so prototype it and demonstrate value.”
We will present a prototype with measurements demonstrating value. A web browser, updated to invoke the EQOS API, can save significant power during video playback and video conferencing workloads, without impacting performance when required.
The EQOS API achieves this by differentiating tasks that care about maximum performance, from those that are willing to accept performance impact in the name of energy efficiency (EE tasks). The EQOS API simply tells the kernel which is which. As the entire purpose of QOS is to differentiate tasks, the kernel saves the EQOS class in task_struct. This prototype uses that per-task EQOS class in two ways.
First, it takes advantage of Intel’s Hardware Performance-State “Energy Performance Preference” setting, effectively transforming this hardware knob from per-CPU to per-task. This allows the hardware to aggressively use high frequency for performance tasks, while being mindful of the energy cost of frequency for EE tasks.
Second, we tell the scheduler’s ASYM-PACKING feature to continue preferring high priority CPUs for performance tasks, but to prefer low priority CPUs for EE tasks. This has the double benefit of getting the EE tasks off the limited high-performance CPUs, at the same time as retiring the EE tasks at more energy-efficient operating points.
The concept of per-task EQOS class is agnostic to the underlying hardware architecture, and the scheduler is free to use (or ignore) this hint differently on different hardware.
Unaddressed... Latency preferences are orthogonal to EQOS. Perhaps if we had a Latency-QOS hint, wecould tell the scheduler when a task wants to run efficiently, but promptly.

Пікірлер
How to reduce complexity in Proxy Execution - John Stultz
20:46
Linux Plumbers Conference
Рет қаралды 118
Keynote: Linus Torvalds in Conversation with Dirk Hohndel
31:05
The Linux Foundation
Рет қаралды 10 М.
Пришёл к другу на ночёвку 😂
01:00
Cadrol&Fatich
Рет қаралды 10 МЛН
Brawl Stars Edit😈📕
00:15
Kan Andrey
Рет қаралды 45 МЛН
C++ Should Be C++ - David Sankel - C++Now 2024
1:28:49
CppNow
Рет қаралды 17 М.
The BiG Idea Lecture Series with Professor Eugene A. Fitzgerald
51:34
TM Research & Development (TMR&D)
Рет қаралды 11
TCP/IP for Programmers
3:03:31
Eli the Computer Guy
Рет қаралды 54 М.
How to Do 90% of What Plugins Do (With Just Vim)
1:14:03
thoughtbot
Рет қаралды 895 М.
The Tragedy of systemd
47:18
linux.conf.au
Рет қаралды 1,1 МЛН
John Mearsheimer and Jeffrey Sachs | All-In Summit 2024
54:05
All-In Podcast
Рет қаралды 584 М.
Winning Codeforces Round 971 (Div. 4) in honor of @que_tourist
1:39:42
OSCP Practice Lab: Active Directory Attack Path #1
1:57:02
Derron C
Рет қаралды 56 М.
Пришёл к другу на ночёвку 😂
01:00
Cadrol&Fatich
Рет қаралды 10 МЛН