Read the paper

Idle Cycles Are
Not Wasted Cycles

Paint
Package power
0%
Package temperature
20 / 100

Application throughput

—work / s

Network throughput

—packets / s

Latency SLO Violations

—%

Waiting strategy
Burst scale
ShortMediumLong

How to play

The Little Core That Waited

Once upon a time, multicore processor cores were treated as independent units of compute. Under this model, idle network polling threads waste compute because they could instead be used to execute application instructions. This sandbox shows that when the processor is constrained by power and thermal headroom, this intuition does not hold. Instead, the processor behaves under a fixed compute budget, where idling may not be as wasteful as you think.

Explore the tradeoffs

Explore the choices from the paper and see how power, heat, throughput and latency interact. Change one choice at a time and compare the results.

Start with FREE cores. Paint app cores to do work and network cores to handle packets. Pick a waiting strategy, then tap cores. Use Unassigned to clear a core.

Waiting Strategies

Busy
Instant response, but uses power even while waiting. Less headroom for app throughput and more heat; usually good network throughput and few SLO violations.
Pause
Very little idle power and a quick wake. More headroom for apps and less heat, usually with good network throughput and few violations.
Block & lend
Becomes an app worker: more app throughput, but uses power and heats up again. Its long network wake can lower network throughput and raise violations.
Block & sleep
Minimal idle power; cools while idle. Frees headroom for existing apps without adding app workers. Its long wake can lower network throughput and raise violations.

Metrics

App throughput
App work completed per second, including lent cores. Higher is better.
Network throughput
Packets delivered per second, including late packets. Higher is better.
Latency SLO Violations
Percentage of resolved packets that missed the deadline. Lower is better.
TURT'S CPU TOUR