Energy-Aware Process Scheduling in Linux
Feitong Qiao (Columbia University); Yiming Fang (Columbia University); Asaf Cidon (Columbia University)
Abstract
Datacenters are becoming one of the most significant worldwide consumers of electricity and sources of carbon emissions. With the end of Dennard’s scaling, and as cloud datacenter power usage effectiveness becomes close to optimal, we can no longer rely on hardware advancements alone to sustainably meet growing computational needs. System software must play a bigger role in optimizing energy consumption of applications. We argue the operating system (OS), at the heart of datacenter resource allocation and scheduling decisions, must be made energy-aware.
This paper has two goals. First, we show how Linux can be made energy-aware without making any kernel changes, by introducing a new energy accounting framework, Wattmeter. Wattmeter uses eBPF functions to efficiently measure per-process energy consumption at millisecond-scale granularity with low overhead. Second, we show how this information can be used to make energy-informed scheduling decisions, with two proof-of-concept scheduling policies: a policy that equalizes energy across processes, and one that caps the amount of energy that can be consumed by a process. This paper represents a first step in making the operating system energy-aware, and demonstrating how that capability can be used to control applications’ energy consumption.