Explain like I'm five · Network

What is an Interrupt (Network I/O)?

A network card's interrupt, told as a story about a bell that rings every time a parcel arrives.

DING!a bell rings on every arrival, pulling the clerk off whatever they were doingthe bell flags every arrival, so the clerk needn't keep walking over to check

A bell rings every time a parcel arrives.The bell flags every arrival, so the clerk needn't keep walking over to check.

the bell never stops — the clerk has no time for anything elsean ultra-fast truck pouring out parcels nonstop floods the bell

A faster truck makes the bell ring nonstop.When parcels pour in nonstop, the bell floods and the clerk can't do anything else.

DING!a network interrupt = the bell announcing an arrival right awaya bell ringing too often disrupts the clerk, so several parcels can share one ring (interrupt coalescing)

The bell announces each arrival right away — or, when that's too frequent, rings once for several parcels.A bell ringing too often disrupts the clerk, so several parcels can share one ring.

Immediate notificationthe bell rings the instant a parcel arrives
Interrupts current workthe clerk stops what they're doing to take in the parcel
Interrupt stormwhen the bell rings too often, all other work stalls
Coalescingseveral parcels gathered trigger just one ring
Ring every time (no coalescing)one ring per parceleach arrival is known instantlya faster truck floods the bellclerk can't do anything elseCoalesced ringone ring for several parcelsoverall throughput improveseach arrival is known a bit laterclerk can handle other work too

Ringing every time swamps the clerk; ringing in batches delays the news a little.Coalescing raises overall throughput compared to ringing every time, but each arrival is known a bit later.

coalescing lets the clerk clear more parcels in the same timebut each single parcel is flagged a little laterinterrupts in general live in the Systems field; here we look only at the network card's bell

Notification latency and overall throughput trade off against each other.Interrupts in general live in the Systems field; here we look only at the network card's bell.

In one breath

A network I/O interrupt is the bell that announces a parcel (packet) has arrived right away — and when it rings too often, several are coalesced into one ring instead.

A network interface card (NIC) raises a CPU interrupt on every packet arrival so it gets handled right away. Under very heavy traffic, interrupts fire so often the CPU can't do anything else — an 'interrupt storm.' To prevent this, interrupt coalescing batches several packets and raises just one interrupt for the group, trading a bit of latency for better overall throughput. Another approach, as in Linux's NAPI, switches to polling while traffic stays heavy. It builds on the general CPU interrupt that pauses a running program, applied specifically to network I/O.

When grown-ups say it

Network interrupt
The bell that announces a parcel's arrival right away. A signal the NIC raises to the CPU.
Interrupt storm
The bell ringing nonstop until all other work stalls. Happens under very heavy traffic.
Interrupt coalescing
Gathering several parcels and ringing the bell just once. Adds some latency but improves throughput.
Network Interface Card
The receiving window that rings the bell. The actual hardware where packets arrive.
Polling
Instead of a bell, the clerk walks over to check on their own, repeatedly. The opposite strategy to an interrupt.
Throughput
How much got processed overall. What coalescing is designed to improve.
Latency
How long it takes for one parcel to be flagged. What coalescing slightly worsens.
Interrupt (process)
The general interrupt that pauses a CPU mid-program. Covered from a different angle in the Systems field. → the bell that pauses what you were doing
Next story
The Mailbox Hole at One End of a Conversation →
Want another term as a picture book? Request →