Session

Power-Aware Network Performance BoF

Speakers

Nabil Bitar
Jamal Hadi Salim
Pedro Tammela
Jesse Brandeburg
Marcelo Ricardo Leitner

Label

Nuts and Bolts

Session Type

Bof

Contents

Description

Traditionally, network performance analysis has been primarily based on throughput (bps or pps) and latency measurements. In host endpoints, CPU utilization is often considered as a secondary performance metric. For example, a packet processing application which is able to achieve 10 Mpps while consuming 10% of the available CPU is considered to be more performant than one which uses 20-30% cpu.

Packet processing infrastructure in software, running on the CPU, consumes CPU cycles and consequently contributes to increased power consumption that could reach as high as the hosting server’s maximum power. A kWh average cost in the US, based on publicly available 2021 data[0], is $0.23. With current global energy crisis, these prices will continue to rise significantly in some parts of the world. In a large data center with many servers running 24/7/365, the operational cost adds up pretty fast. More importantly, carbon emissions are directly proportional to the wattage a server consumes; In 2021, the amount of carbon emission in the US ranged from 0.97 pounds per kWh (when natural gas is used as the source) to 2.44 pounds per kWh (when petroleum is used as the source of power) [1]. Imagine the impact of the carbon footprint of a large data center with 10s to 100s of thousands of servers (not including middleboxes and other infra): It is the ballpark equivalent to killing a mature tree every 24 hours, or 365 trees annually[3].

It should be noted that this challenge is not specific to just data centre networking but also to embedded devices: The Europe Union has been putting a lot of effort for years on getting devices in standby[5] to use less power. EEE and WoL are partially attributed to this effort.

For this reason it is of great importance to have networking infrastructure that consumes less power, not only for capex or operational costs, such as electricity bills, but also for cutting carbon emissions and contributing to a more sustainable environment.

The massive growth of networking infrastructure utilization[2], hunger for more energy, as a result of the AI revolution, and rising cost of power generation all call out for the need to optimize for energy consumption across the application and network processing stack.

In this BoF, we focus on the network processing infrastructure (stack) on the host, where compute, IO and memory operations are performed on received and transmitted packets and their effect on power consumption.

We introduce a new metric for network performance analysis: power consumption at the host level. How would one go about measuring power utilization for network workloads? How do we correlate to the metrics such as perf, throughput, etc to the power utilized? How would one go about saving power while still achieving an applications stated end goals?

We will share our approach and hope to inspire a discussion.

Although academia is starting to have discussions on this topic[4], there is hardly any literature on this topic that we could find to provide us guidance on how to collect this metric(or other metrics) and attribute it to different packet processing actions in the network infrastructure, let alone providing such data. Understanding the correlation between packet processing actions and host level power consumption, in addition to understanding CPU compute cycles spent for such actions, help better guide the optimization for throughput relative to CPU utilization and relative to power consumption.

References

[0]How much does electricity cost by state? https://www.energysage.com/local-data/electricity-cost/#:~:text=As%20of%20February%202023%2C%20the,based%20on%20where%20you%20live.

[1] according to US government EIA data found here: https://www.eia.gov/tools/faqs/faq.php?id=74&t=11

[2]https://blogs.marvell.com/2023/02/the-three-things-next-generation-data-centers-need-from-networking/

[3] Viessmann. (2021). How much CO2 does a tree absorb. Retrieved August 8, 2021 from viessmann.co.uk: https://www.viessmann.co.uk/heating-advice/how-much-co2-does-tree-absorb

[4] https://eng.ox.ac.uk/carbonawarenetworksworkshop/programme/

[5] https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/energy-label-and-ecodesign/energy-efficient-products/mode-standby-and-networked-standby-devices_en