Hacktakes · Edition 18
Hacktakes · Edition 18 · August 8, 2026

When the CPU is the Network: Bounded Time and 198 Billion Cycles

A 62-second x86 instruction stall shatters the fiction of the bounded-time CPU, revealing that the motherboard itself is a hostile distributed network.

By Owen Tate

Sparked by Assembly Hall of Shame · discussion

I am going in for a glass of water—if I miss my heartbeat ping, assume I am dead and elect a new husband.
I am going in for a glass of water—if I miss my heartbeat ping, assume I am dead and elect a new husband.

In their 2009 seminal paper The multikernel: a new OS architecture for scalable multicore systems, Baumann et al. argued that modern hardware had become so staggeringly complex that we needed to stop treating it as a single, cohesive, shared-memory computer. They suggested treating the physical machine itself as a physically distributed system—one where disparate CPU cores communicate via explicit message-passing over a silicon network.[^1] At the time, treating a single x86 motherboard like a distributed cluster felt like a provocative, perhaps slightly pedantic, academic abstraction. Then, last week, Christopher Domas published the Assembly Hall of Shame, detailing a single x86 instruction that takes 198 billion cycles to execute.

When a local, atomic hardware operation takes a full 62 seconds to run, Baumann's thesis stops being an abstraction and becomes an immediate, screaming operational hazard. We build almost all of our distributed consensus models on a comforting, fundamental heuristic: the external network is hostile, asynchronous, and slow, while the local CPU is our fast, strictly-bounded friend. We rely on the core assumption that local hardware operations execute in effectively $\epsilon == 0$ time compared to a network RPC.

But as the ensuing Hacker News discourse pointed out, triggering this massive stall via Memory-Mapped I/O (MMIO) over the PCIe fabric exposes the physical reality of our motherboards. Every MMIO read actually functions as a synchronous, un-timeoutable RPC call routed across a hostile silicon network.

Let's run the math on what this un-timeoutable silicon RPC actually does to a modern production cluster. We will isolate a single variable—wall-clock time $t$—and map it against the standard hyperscale thresholds keeping our data safe. For a typical Raft deployment, operators rely on a 100ms heartbeat to verify node health, backed by a 1,000ms Raft election timeout to maintain consensus. Further down the stack, the operating system itself relies on a 10-second Linux hard lockup watchdog to detect frozen cores and save the bare-metal machine from a complete hang.

At $t=0$, our node begins executing the 198-billion-cycle instruction.

At $t=100ms$, the node misses its first heartbeat. The network control plane gracefully assumes a transient packet drop, or perhaps a minor garbage collection pause. That is exactly what retries are for.

By $t=1000ms$, the Raft election timeout is breached. The cluster ruthlessly evicts the stalled node, increments its term, and elects a new leader. To the distributed control plane, the node is logically dead. You can picture this exact moment propagating through your metrics: the active node count drops, latency alarms fire, and the on-call pager wakes somebody up to investigate a seemingly routine network partition.

But physical hardware doesn't care about your distributed systems theory, and here is where the abstraction completely breaks down under the weight of messy, thermal reality. At $t=10s$, the Linux kernel's hard lockup watchdog recognizes the core is stalled and attempts to trigger a Non-Maskable Interrupt (NMI). Because x86 architecture requires the current instruction pipeline to cleanly retire before processing interrupts, and the pipeline is deadlocked waiting on the PCIe fabric, the NMI is physically blocked. Even the highest-privilege hardware signals fail to register (including System Management Interrupts, which raises terrifying security implications regarding firmware exploits). The hardware has effectively gagged the operating system. By design.

This total systemic failure finally resolves at $t=62s$. The instruction retires, unblocking the silicon network. The queued NMI fires, the kernel watchdog bites, and the operating system wakes up having completely missed a minute of physical time. Because the CPU clock simply halted for that core, the kernel has absolutely no idea it was frozen. Its internal state model evaluates to I’m assuming I still own the cluster lease and should flush these pending writes...

It immediately tries to process stale network queues and commit writes to a cluster that evicted it 61 seconds ago. Instead of cleanly dying, the node becomes an uncontrolled zombie perfectly engineered to cause a macroscopic, metastable retry storm as the network rejects its $O(N)$ stale requests.[^2] Oof.

Let's look at what this queueing behavior actually means for the surrounding system. As the newly recovered zombie node spews out highly-concurrent retry attempts, it consumes bandwidth, memory allocations, and worker threads on the newly elected leader. If your steady-state system was already running at a healthy 70% utilization ($\rho = 0.7$), the sudden injection of a massive queue of deferred operations pushes the leader toward $\rho \to 1$. As any practitioner of queueing theory knows, the latency curve for processing these requests at high utilization doesn't just creep upward; it goes asymptotic. The newly elected leader might itself buckle under the localized load spike, triggering another timeout, another election, and another cascade of queue growth.

When evaluating these outages, do not blame the developer who wrote the assembly. Furthermore, don't blame the human operator staring at a monitoring screen that showed absolutely zero kernel panics leading up to the crash. The system failed because our foundational architectural abstraction is flawed. We operate under the assumption that physical time is strictly bounded at the silicon level, trusting that local instructions always finish before network timeouts expire. They don't.

The bounded-time CPU is a useful fiction. In reality, all computing is distributed computing, and the network is always hostile—even when it is etched into the motherboard.

[^1]: The multikernel argues that as core counts and heterogeneous interconnects scale, treating the machine as a single shared-memory system becomes a bottleneck, requiring message-passing semantics inside the box. [^2]: A retry storm that, in all likelihood, will cascade across the remaining healthy nodes as they burn CPU cycles rejecting the zombie's frantic, outdated RPCs.

← Back to Edition 18