Rethinking Polling Efficiency in Service Core Network Stacks

Operating SystemsHardware ArchitectureNetworking and Internet Architecture

Summary

The authors explain that treating idle cores in servers as wasted computing power isn't fully accurate with modern processors. Because multiple cores share a limited power and heat budget, having some cores idle can actually help by allowing the hardware to use power more efficiently. Their tests on a recent AMD chip show that whether to use or wait on idle cores depends on many factors like how the processor is designed and how long cores remain idle. They suggest focusing on managing power limits rather than just core use, and making waiting a key part of system design.

Authors

Matheus Stolet, Simon Peter, Antoine Kaufmann

Abstract

Idle network service cores are treated as wasted compute. This assumption motivates increasingly sophisticated mechanisms that reclaim idle cores at microsecond timescales. We argue that this view no longer matches modern server hardware. On contemporary multicore processors, active cores compete for a shared package level power and thermal budget. Once that budget becomes the limiting resource, an idle core that waits efficiently returns compute capacity that hardware can redistribute to productive work. Measurements on a recent AMD EPYC processor show how waiting strategy, processor topology, and idle duration determine this tradeoff. Our results suggest that reclaiming idle cores often yields less benefit than commonly assumed while introducing substantial scheduling complexity. We propose a budget centric view of service core systems in which power, rather than core occupancy, becomes the fundamental resource and waiting policy becomes a first class systems design choice.