OpenRadio: Taking Control of Wireless Sachin Katti Assistant Professor EE&CS, Stanford University Three Dissatisfied Parties Applications Carriers Users Frustrated Users LTE Femtocell 3G WiFi Paradoxically, surrounded by wireless APs (WiFi, 3G, 4G, picocells, femtocells, whitespace ….) 4 LTE Femtocell 3G WiFi Why cant I seamlessly connect me to the best AP available? 5 LTE Femtocell 3G WiFi Why cant I seamlessly connect to multiple APs if I want more speed? 6 Applications’ Perspective LTE Femtocell 3G WiFi User experience with rich cloud services over mobile wireless is poor 8 LTE Femtocell 3G WiFi To cope, resort to reverse engineering • Probe for bandwidth/latency • Resort to hacks (e.g. multiple TCP connections, …) 9 LTE Femtocell 3G WiFi Why cant applications directly ask the network its current state, or directly request the connectivity they need? 10 LTE Femtocell 3G WiFi More generally, why isn't the network a partners for apps rather than an opaque bit pipe? • Network knows user location, connectivity, billing …. • Well positioned to host & enhance applications 11 Carrier’s Perspective Carrier’s Dilemma Exponential Traffic Growth Limited Capacity Gains 8 350000 300000 6 250000 200000 4 150000 100000 Shannon Shannon (3dB) 4G 2 50000 0 0 2010 2011 2012 2013 2014 2015 -15 -10 -2.5 2.5 7.5 12.5 17.5 Exponential growth + Limited spectrum/capacity gains Poor wireless connectivity Cooper’s Law PHY Improvements Increasing Spectrum Shrinking Cell Sizes Capacity Improvements come from increasing cell density Capacity Dense/Chaotic Deployments Dense Higher SNR/user Higher Capacity • Femtocells, dense WiFi deployments etc Dense & Chaotic Hard to Manage • Limited spectrum + Dense Intercell Interference • Many, chaotic cells Variable Load & Backhaul • Operators need to dynamically manage how their traffic is routed, scheduled and encoded on a per packet level to manage inter-cell interference & variable load in a chaotic infrastructure Hard to build at scale Everyone is Dissatisfied! Underlying Cause: Lack of control Infrastructure does not scalably expose state – Hard or infeasible to find available APs, their speeds, user locations, fine-grained network/load information etc Infrastructure does not provide granular control – Hard or infeasible to granularly control traffic E2E across all layers and network infrastructure What does it take to….. Open the wireless infrastructure to provide users, applications and carriers control over their traffic across all layers end to end across the entire infrastructure? 18 OpenRadio: Taking Control of Wireless Wireless network architecture that provides unified software interfaces to: 1. Query wireless networks about availability, quality, location, spectrum, interference … 2. Control granularly how individual user or application traffic is handled by the network across the entire stack OpenRadio: Control Interface Match/Action interface for the entire stack Match: Identify and tag flows of individual users and/or applications Action: Control how packets are routed, what speeds & priorities they get, and how they are scheduled/encoded at the AP OpenRadio: Architecture Control Program Control Program Global Network View Wireless Network OS Open interface to heterogeneous wireless infrastructure X X 3G If pkt = x: forward to LTE AP If pkt = y: forward to LTE AP and allocate speed 1Mbps If pkt = x: schedule low priority If pkt = y: schedule high priority and allocate 40% airtime WiFi AP LTE E.g: Seamless Connectivity to the best APs Connectivity/Mobility Control Program Global Network View Wireless Network OS X X LTE 3G WiFi AP Control program to automatically route user traffic to the best available AP E.g: Dynamic High Speed Pipe for Video Connectivity/Mobility Netflix/CDN Global Network View Wireless Network OS X X 3G WiFI AP LTE Applications stitch a high speed pipe from available APs for HD video Connectivity CDN Load Mgmt Internet of Things Global Network View Wireless Network OS X X 3G WiFI AP LTE Complex network services as pieces of software running on the network OS …… OpenRadio: Design • Data Plane: Access, backhaul & core network – Can we build a programmable data plane using merchant silicon? • Control Plane: Modular software abstractions for building complex network applications – What are the right abstractions for wireless? OpenRadio: Radio Access Dataplane OpenRadio: Access Dataplane OpenRadio APs built with merchant DSP & ARM silicon – Single platform capable of LTE, 3G, WiMax, WiFi – OpenFlow for Layer 3 – Inexpensive ($300-500) Forwarding Dataplane Control CPU Baseband & Layer 2 DSP Exposes a match/action interface to program how a flow is forwarded, scheduled &RFencoded RF RF Design goals and Challenges Programmable wireless dataplane using off-theshelf components – At least 40MHz OFDM-complexity performance • More than 200 GLOPS computation • Strict processing deadlines, eg. 25us ACK in WiFi – Modularity to provide ease of programmability • Only modify affected components, reuse the rest • Hide hardware details and stitching of modules 28 Wireless Basebands OFDM Demod OFDM Demod OFDM Demod Demap (BPSK) Deinterleave Viterbi Decode Demap (BPSK) Decode (1/2) Descramble CRC Check CRC Check Hdr Parse Hdr Parse Demap (BPSK) Deinterleave (WiFi) Deinterleave Descramble WiFi 6mbps Demap (64QAM) Decode (3/4) WiFi 6, 54mbps Decode (1/2) Descramble Demap (64QAM) Deinterleave (UEP) Decode (3/4) Descramble CRC Check Hdr Parse Hdr Parse WiFi 6, 18mbps and UEP 29 Modular declarative interface Composing ACTIONS E D C B A Deinterleave (UEP) Deinterleave (WiFi) Demap (64QAM) Demap (BPSK) OFDM Demod J I H Decode (3/4) Decode (1/2) A B D F G H H H H I I I J J H C E G 6M C A D F B F C D A B D Blocks A A CRC Check Descramble G F Hdr Parse Inserting RULES 54M J J I F G Data flow H I J UEP Actions: DAGs of blocks 6M J 6M, 54M Control flow Rules: Branching logic State machines and deadlines • Rules and actions encode the protocol state machine – Rules define state transitions – Each state has an associated action • Deadlines are expressed on state sequences Start decoding B A Finish decoding F D H I G C deadline J 31 Design principle I Judiciously scoping flexibility • Provide just enough flexibility • Keep blocks coarse • Higher level of abstraction • High performance through hardware acceleration – Viterbi co-processor – FFT co-processor • Off-the-shelf heterogeneous multicore DSPs – TI, CEVA, Freescale etc. Algorithm WiFi LTE 3G DVB-T FIR / IIR √ √ √ √ Correlation √ √ √ √ Spreading √ FFT √ √ Channel Estimation √ √ √ √ QAM Mapping √ √ √ √ Interleaving √ √ √ √ Convolution Coding √ √ √ √ √ √ Turbo Coding √ Randomization √ √ √ CRC √ √ √ √ 32 A Design principle II Processing-Decision separation B C D • Logic pulled out to decision plane • Blocks and actions are branch-free F G H I J – Deterministic execution times – Efficient pipelining, algorithmic scheduling – Hardware is abstracted out Regular compilation OpenRadio scheduling Instructions Atomic processing blocks Heterogeneous functional units Heterogeneous cores Known cycle counts Predictable cycle counts Argument data dependency FIFO queue data dependency 6M, 54M A B C D 60x E F 33 Prototype I/Q baseband samples RF signal (Analog) (Digital) Baseband-processor unit (BBU) Layer 1 & 2 Radio front end (RFE) Layer 0 & 1 Antenna chain(AX) Layer 0 • COTS TI KeyStone multicore DSP platform (EVM6618, two chips with 4 cores each at 1.2GHz, configurable hardware accelerators for FFT, Viterbi, Turbo) • Prototype can process 40MHz, 108Mbps 802.11g on one chip using 3 of 4 cores 34 Software architecture BBU RFE (Digital) protocol state machine, flowgraph composition, block configurations, knowledge plane, RFE control logic OR Wireless Processing Plane i n (Analog) OR Wireless Decision Plane monitor & co ntr ol data AX data o u t deterministic signal processing blocks, header parsing, channel resource scheduling, multicore fifo queues, sample I/O blocks OR Runtime System compute resource scheduling, deterministic execution ensuring protocol deadlines are met Bare-metal with drivers 35 OpenRadio: Current Status • OpenRadio APs with full WiFi/LTE software on TI C66x DSP silicon • OpenRadio commodity WiFi APs with a firmware upgrade • Network OS under development To Conclude… OpenRadio: Taking control of wireless through SDN Provides programmatic interfaces to monitor and program wireless networks – High performance substrate using merchant silicon Complex network services as software apps Our Vision: Virtualized Wireless Networks AT&T Verizon Wireless Network OS Open interface to heterogeneous wireless infrastructure X X Shared physical wireless infrastructure 3G WiFi decoupled AP from network service LTE