Green task scheduling: the future of carbon-reduced data processing

Davide Coccia
gft-engineering
Published in
4 min readNov 16, 2022

by Davide Coccia and Tim Schade

Reducing energy consumption is the concern of everyone. People and businesses must use energy wisely and, where possible, from renewable sources. Although the IT sector has grown dramatically in size and importance, it is not a green industry and reducing energy consumption has never been a priority. But times change and a new approach is needed. We consider how green scheduling can make processing more efficient and boost the use of renewables.

Energy is a hot topic at present. Rising costs mean that everyone must look for new ways to become more energy efficient. In parallel, environmental considerations require every individual and business to monitor, manage and conserve energy and make renewable energy a high priority.

The IT sector currently accounts for between 5% and 9% of global electricity consumption and this is set to surge to 21% by 2030. The awkward truth is that conventional IT just isn’t green yet, and datacentres and networks consume a lot of energy. The time is right for all users and providers of software to consider energy use carefully and to look for ways to become more efficient and greener.[1]

Green energy and the knapsack problem

There are many critical factors in the energy mix and the biggest challenge is to optimise consumption in accordance with limited renewable energy availability. This is a good illustration of the ‘knapsack problem’ which is often used to explain combinational optimisation. It derives its name from the challenge faced by someone who is constrained by a fixed-size knapsack and must fill it with the most valuable items. The important point is that optimisation requires careful consideration and choice, and this logic applies equally to energy consumption.

With the push towards green energy, there is growing global awareness of the need to shift computation tasks by day, time or region, depending on the availability of renewable energy. Not all computation tasks are suitable in the same way for shifting, but as in real life there are always tasks which may be postponed and other that cannot. Good progress has been made — Germany achieved a share of 45.7%[2] in 2021 — but there is much work to do. In practice, green energy is not consistent over time or region and the energy mix is subject to many natural fluctuations. For example there are windy months that boost renewable energy generation and dull months that reduce the efficiency of solar panels.

The energy mix also varies considerably between night and day. The annual averages of the German energy-mix in 2020 showed CO2 emission factors of 20%[3] less at 1 pm compared to night-time energy mixes. While fluctuations in the energy mix are inevitable, they are largely predictable, which creates opportunities for improvement.

Many software systems — such as Kubernetes — already contain sophisticated scheduling capabilities but these tend to choose processing nodes that have low workloads. Green scheduling simply looks at processing through a different lens, which prioritises green energy availability.

Green scheduling — a new dawn for processing?

With careful green scheduling, energy consumption and emissions can be reduced without changing software or hardware but by simply reconsidering when or where certain tasks are performed. For example a bank may realise real savings with a processing schedule that follows the sun or processes mainly when green energy is plentiful. Although we are primarily concerned with the IT sector here, the same logic applies to individuals, who should for example run washing machines or other domestic appliances when green energy is abundantly available.

In the IT world, some critical tasks must be performed immediately, but many more can be scheduled for completion at a time or in a location that is more energy efficient. This contrasts with traditional scheduling, which often prompts immediate or fixed-time scheduling. Many ‘cron’ jobs, such as file sharing, system maintenance or administration are traditionally scheduled to run at night when system use is light, but there is no regard for renewable energy availability at this time.

Green scheduling tackles this problem by introducing new parameters into scheduling. It creates ‘carbon awareness’ by scheduling tasks according to their size and urgency and aligning processing with green energy availability. Smart technology computes the urgency of the task along with processing requirements, weighed against renewable energy availability. In practice, the technology is constantly solving the knapsack problem and optimising energy consumption without any system or software changes or processing deadline delays.

Green scheduling offers a new approach to processing. It is easy to use and based on existing technologies and algorithms. It just requires a new way of thinking from everyone involved, from the software developer to the server admin. We hope one day all processing will be scheduled this way.

See more @ GreenCoding: the new frontier for software development (gft.com)

Notes and references

[1] https://hbr.org/2020/09/how-green-is-your-software

[2] https://www.ise.fraunhofer.de/de/presse-und-medien/news/2022/nettostromerzeugung-in-deutschland-2021-erneuerbare-energien-witterungsbedingt-schwaecher.html

[3] https://www.eupd-research.com/co2-emissionen-im-deutschen-strommix-schwanken- im-jahresverlauf-2020-sehr-stark

--

--

Davide Coccia
gft-engineering

Engineer, Enabling Architecture Practice Lead @ GFT Italy