CS176C — Advanced Topics in Internet Computing
2026-04-28
L7: WiFi hit its coordination ceiling and broke it — 802.11ax centralized the MAC with OFDMA.
Today’s question: If cellular was centralized from day one, what was its twenty-year struggle about?
Answer: Not when to centralize — but how to schedule efficiently as traffic changed from voice to data. And: what is the cost of NOT disaggregating a monolith?
Licensed Spectrum and its Invariant Cascade
WiFi chose distributed coordination — inherited from Ethernet’s CSMA/CD, designed for ad-hoc peers, optimized for simplicity.
Cellular was born centralized — licensed spectrum means one owner, one scheduler, no contention.
From exclusive ownership, the cellular invariant answers cascade:
Question: The BS knows everything and schedules everything. At what cost?
“The BS knows every device” — but global state doesn’t materialize for free. It must be continuously measured, reported, and processed.
The measurement tax: In massive MIMO (320 MHz, 16 antennas), CSI feedback consumes ~75% of airtime just for measurement overhead.
The scheduler’s global view is purchased at the cost of the very resource it is trying to schedule.
Channel measurements have an expiration date — the coherence time.
The paradox:
| Distributed (CSMA/CA) | Centralized (scheduled) | |
|---|---|---|
| Failure mode | Contention collapse — knows too little | Staleness collapse — maintaining knowledge costs too much |
Neither architecture escapes the cost of coordination. They pay in different currencies.
FDMA → GSM → CDMA: Three Capacity Models
AMPS (1980s): 800 MHz band, 25 MHz per operator, divided into 30 kHz channels.
Question: If a speaker is silent 65% of the time but owns the channel 100% of the time, what is the structural waste?
Hard allocation of a shared resource to bursty demand. Simplicity was the binding constraint in the 1980s.
Why TDMA? Digitization made time-slicing possible.
8 users share one 200 kHz carrier. Each gets a 577 µs slot in a 4.615 ms frame.
But still hard capacity. All 8 slots full → next caller blocked.
Everyone speaks at the same time, same frequency — but in different languages.
Three CS concepts you already know:
Question: If the codes are orthogonal — perfectly separable — why does adding a user matter at all?
In FDMA, users are physically separated — different frequencies, signals don’t overlap.
In CDMA, all users transmit on the same frequency at the same time. The receiver hears one composite signal — the sum of everyone.
Cocktail party, extended:
Each speaker adds acoustic energy even if unintelligible. The 128 chips? That’s the receiver’s noise suppression — it averages across 128 samples to extract the signal. Suppresses interference by up to 128×. But with enough speakers, the murmur exceeds even that limit.
Soft capacity: no hard wall. User #61 isn’t blocked — they raise the noise floor for everyone. Degradation is graceful, not binary.
Question: If all users share the same frequency, what happens if one user is much closer to the base station?
A phone 100m away arrives 10,000× stronger (40 dB) than one 1 km away. Drowns everyone — regardless of codes.
The fix: BS commands each mobile to adjust power 800 times per second, keeping all signals arriving at equal strength.
The Cost of NOT Separating Concerns
Recall: disaggregation = separating coupled concerns into independently controllable dimensions.
Today’s question: What is the cost of NOT disaggregating?
The cellular RAN from 1991 to 2009 is a case study in paying that cost — being forced, generation by generation, to separate things that should never have been joined.
Every generation renamed the same thing — the equipment at the cell tower:
| Gen | Name | What it contains |
|---|---|---|
| 2G | BTS | Radio + baseband (BSC above decides) |
| 3G | NodeB | Radio + baseband (RNC above decides) |
| 4G | eNodeB | Radio + baseband + scheduler |
| 5G | gNodeB | Split into RU + DU + CU |
UE (User Equipment) = the mobile device.
A user driving at 60 km/h crosses cell boundaries every ~30 seconds. Which base station should serve them next?
No single NodeB can answer this — it only sees its own coverage area. Handover requires a multi-cell view. So 3G placed a controller — the RNC (Radio Network Controller) — above dozens of NodeBs.
The RNC handled: handover coordination, paging (finding which cell a user is in), power control across cells, radio bearer setup.
Question: The RNC sits physically remote (10–20 ms round-trip). For handover — does that matter?
No. Handover decisions tolerate 100 ms. A user crossing cells at 60 km/h gives you seconds of warning. The RNC’s latency was fine for every function it was designed for.
Voice: steady, symmetric, one call lasts minutes. The RNC assigns a channel and forgets about it.
Data is different. Loading a webpage: 200 ms of intense transfer, then 10 seconds of silence. Holding a dedicated channel the whole time wastes most of it.
Question: You want to schedule dynamically — give the channel to whoever needs it NOW. The channel’s quality changes every 1–2 ms. The RNC is 10–20 ms away. What breaks?
By the time the RNC’s scheduling decision reaches the NodeB, the channel has faded and the decision is stale.
The RNC didn’t distinguish which decisions were time-critical. Handover (100 ms tolerance) and scheduling (1 ms tolerance) were fused in one remote controller. The cost of not disaggregating: the fastest function is throttled to the speed of the slowest interface.
The fix: move the scheduler into the NodeB. RNC keeps slow functions (handover, bearer setup).
Now the scheduler sits next to the radio. It re-evaluates every 2 ms — one scheduling cycle. (Cellular calls this cycle the Transmission Time Interval, or TTI.)
The payoff — opportunistic scheduling:
Eliminate the RNC entirely. The eNodeB absorbs all radio resource management.
Third disaggregation — the core splits:
| Gen | What was monolithic | What got split | What it enabled |
|---|---|---|---|
| GSM (1991) | Everything | Nothing | Simple, cheap, worked |
| HSDPA (2005) | RNC = slow + fast | Scheduler → NodeB | Opportunistic scheduling |
| LTE (2009) | RNC entirely | Eliminated; eNB absorbs all | 1 ms OFDMA |
| LTE core | Signaling + forwarding | MME / S-GW+P-GW | VoLTE, elastic scaling |
| 5G (next) | eNB = RF + baseband + control | CU / DU / RU | Programmable, open |
The rule: a function at timescale X cannot live behind an interface imposing latency > X.
The cost of NOT splitting: fastest function throttled to speed of slowest interface.
Two Paths, One Destination
WiFi (distributed → centralized): 802.11ax borrowed OFDMA from LTE. The AP became a scheduler.
Cellular (centralized → contention): LAA (2016) adopted Listen Before Talk from WiFi to operate in unlicensed 5 GHz.
The universal architecture:
Schedule everything you can. Contend only for discovery.
Identical constraints → identical invariant answers, regardless of starting point.
| System | What it measures | Loop period | Coordination |
|---|---|---|---|
| CSMA/CA | Carrier sense (binary) | ~12 ms | Distributed |
| GSM TDMA | Slot assignment | ~4.6 ms | Centralized |
| CDMA power ctrl | Received power/user | ~1.25 ms | Centralized |
| LTE OFDMA | CQI per user per RB | ~1 ms | Centralized |
| 802.11ax | Per-client feedback | ~1–5 ms | Centralized |
Faster loop → tighter coordination → higher utilization. But faster loop → heavier measurement tax.
Convergence is not “centralization wins.” It is: centralization trades collision overhead for measurement overhead. At scale, that tradeoff is better.
When One Queue Serves Three Masters
A single 802.11ac AP, 80 MHz channel. \(n = 26\) devices — not a stadium.
| Devices | Traffic | Latency tolerance |
|---|---|---|
| 20 patient monitors | 200-byte packet, 1/sec | 500 ms |
| 5 staff tablets | Bursty video, 2 Mbps | 50–100 ms |
| 1 surgical robot | Haptic feedback, 500 Kbps | 10 ms |
\(P(\text{success}) = 26 \times 0.125 \times (0.875)^{25} \approx 0.106\) — 10% of slots succeed. Density is NOT the problem.
But the robot’s haptic packet enters the same FIFO queue as heartbeat readings and video chunks. Worst case: tablet TXOP (5 ms) + collisions + backoff → 5–15 ms delay. The 10 ms deadline breaks — not from saturation, but because the MAC has no concept of urgency.
The binding constraint shifted: density → service diversity. 500 ms vs. 50 ms vs. 10 ms on one queue. This is exactly the problem 5G faces at network scale — and why we need network slicing (next lecture).
Today: cellular started centralized, evolved through progressive disaggregation, converged with WiFi.
But centralization creates a new monolith. The scheduler is locked in proprietary hardware. One vendor. One algorithm. One box.
L9: How do you crack that monolith open?