Real-time 802.11 on WARP Patrick Murphy Mango Communications Nov - - PowerPoint PPT Presentation

real time 802 11 on warp
SMART_READER_LITE
LIVE PREVIEW

Real-time 802.11 on WARP Patrick Murphy Mango Communications Nov - - PowerPoint PPT Presentation

Real-time 802.11 on WARP Patrick Murphy Mango Communications Nov 2013 http://warpproject.org http://mangocomm.com A Bit of History Rice WARP funded by NSF in 2006 Led by Prof. Ashu Sabharwal Rice team designed WARP v1 and v2


slide-1
SLIDE 1

Real-time 802.11 on WARP

Patrick Murphy Mango Communications Nov 2013

http://mangocomm.com http://warpproject.org

slide-2
SLIDE 2

A Bit of History

  • Rice WARP funded by NSF in 2006
  • Led by Prof. Ashu Sabharwal
  • Rice team designed WARP v1 and v2 hardware
  • Community support, reference designs, 11 workshops
  • Distributed hardware to 25+ research groups
  • Mango Communications founded in 2008
  • Took over hardware manufacturing & distribution
  • Took over all WARP development and support in early 2012
  • Released all-new WARP v3 hardware in mid-2012
  • Already most widely-adopted version of WARP hardware
slide-3
SLIDE 3

WARP Reference Designs

  • WARPLab Reference Design
  • OFDM Reference Design
slide-4
SLIDE 4

WARP Reference Designs

  • Rapid PHY prototyping with MATLAB and WARP hardware
  • Raw Tx/Rx waveforms via Ethernet
  • Multi-antenna and multi-node from one script
  • WARPLab 7
  • Re-designed from scratch in early 2013
  • Much cleaner code for multi-antenna / multi-node experiments
  • Much faster than previous versions
  • Custom mex function for network I/O
  • 2.1 msec to read 819 µsec of 40MHz “air” time

WARPLab

slide-5
SLIDE 5

WARP Reference Designs

  • MIMO OFDM PHY in FPGA
  • SISO, 2x2 multiplexing, 2x1 STBC, selection diversity
  • AF and DF cooperation
  • Custom frame format with 10 MHz bandwidth
  • CSMA MAC in C
  • One software app for PHY control and full MAC
  • No higher layer MAC roles (AP vs STA, etc)
  • Interoperates across all generations of WARP hardware

OFDM Ref Design

slide-6
SLIDE 6

WARP Reference Designs

  • WARPLab Reference Design
  • OFDM Reference Design
  • 802.11 Reference Design
slide-7
SLIDE 7
  • Interoperability
  • Real-time MAC & PHY in FPGA
  • No compromises on MAC timing or PHY features
  • AP & station implementations
  • Experimental Visibility
  • Hooks throughout MAC & PHY
  • Framework for running experiments and understanding results
  • Extensibility
  • All source code open
  • Behavior specified in software whenever possible
  • Interfaces for real world traffic

802.11 Reference Design

slide-8
SLIDE 8

802.11 Reference Design

MAC Framework

MAC

MAC DCF Core

PHY Hardware

WARP v3 Node

Software FPGA Core WARP Hardware

Hardware Support CPU High 802.11 DCF MAC CPU Low PHY Tx PHY Rx

MicroBlaze CPU

Top-Level MAC

slide-9
SLIDE 9

802.11 Reference Design

MAC Framework MAC DCF Core WARP v3 Node Hardware Support CPU High 802.11 DCF MAC CPU Low PHY Tx PHY Rx Top-Level MAC

  • CPU High
  • All inter-MPDU processing
  • Wired-wireless portal
  • Queueing
  • Role-specific behaviors
  • Beacons
  • Associations
  • Channel selection
  • Framework for common code
slide-10
SLIDE 10
  • CPU Low
  • All intra-MPDU processing
  • Rate selection
  • Re-transmissions
  • Backoff selections
  • PHY configuration
  • Same code for any top-level MAC

802.11 Reference Design

MAC Framework MAC DCF Core WARP v3 Node Hardware Support CPU High 802.11 DCF MAC CPU Low PHY Tx PHY Rx Top-Level MAC

slide-11
SLIDE 11

802.11 Reference Design

MAC Framework MAC DCF Core WARP v3 Node Hardware Support CPU High 802.11 DCF MAC CPU Low PHY Tx PHY Rx Top-Level MAC

  • DCF Core
  • DCF MAC state
  • Carrier sensing (CCA)
  • Slot timer
  • Backoff counter
  • NAV
  • Real-time PHY control
  • All parameters set by CPU Low
slide-12
SLIDE 12

802.11 Reference Design

MAC Framework MAC DCF Core WARP v3 Node Hardware Support CPU High 802.11 DCF MAC CPU Low PHY Tx PHY Rx Top-Level MAC

  • PHY Cores
  • Designed in System Generator
  • OFDM Tx
  • OFDM & DSSS Rx
  • All SISO PHY rates
  • All synchronization real-time per pkt
  • 160MHz core clock
  • Flexible bandwidth (20MHz max)
slide-13
SLIDE 13

802.11 Reference Design

MAC Framework MAC DCF Core WARP v3 Node Hardware Support CPU High 802.11 DCF MAC CPU Low PHY Tx PHY Rx Top-Level MAC

  • Hardware
  • Usual hardware support cores
  • radio_controller, ad_controller, Ethernet, etc.
  • Standard Mango WARP v3 node
  • FPGA resource utilization:

LUT FF Mult BRAM 802.11 Usage 62983 65073 135 245* V6 Chip Total 150720 301440 768 416 % Used 41% 21% 17% 55%

*71 BRAM used by ChipScope ILA in Rx PHY Design v0.6-beta

slide-14
SLIDE 14

Packet Flow Example

Data Tx

CPU High CPU Low DCF Core PHY

MPDU Tx Pkt Tx Pkt Tx

slide-15
SLIDE 15

Packet Flow Example

Data Tx

CPU High CPU Low DCF Core PHY

MPDU Tx Pkt Tx Pkt Tx Tx Done

slide-16
SLIDE 16

Packet Flow Example

Data Tx

CPU High CPU Low DCF Core PHY

MPDU Tx Pkt Tx Pkt Tx Tx Done Pkt Rx ACK Rx Tx Success

slide-17
SLIDE 17

Packet Flow Example

Data Tx with Re-transmission

CPU High CPU Low DCF Core PHY

MPDU Tx Pkt Tx Pkt Tx Tx Done Timeout

slide-18
SLIDE 18

Packet Flow Example

Data Tx with Re-transmission

CPU High CPU Low DCF Core PHY

MPDU Tx Pkt Tx Pkt Tx Tx Done Timeout Backoff Pkt Tx

slide-19
SLIDE 19

Packet Flow Example

Data Tx with Re-transmission

CPU High CPU Low DCF Core PHY

MPDU Tx Pkt Tx Pkt Tx Tx Done Timeout Backoff Pkt Tx Pkt Tx Tx Done

slide-20
SLIDE 20

Packet Flow Example

Data Tx with Re-transmission

CPU High CPU Low DCF Core PHY

MPDU Tx Pkt Tx Pkt Tx Tx Done Pkt Rx ACK Rx Tx Success Timeout Backoff Pkt Tx Pkt Tx Tx Done

slide-21
SLIDE 21

Packet Flow Example

Data Tx with Re-transmission

CPU High CPU Low DCF Core PHY

MPDU Tx Pkt Tx Pkt Tx Tx Done Pkt Rx ACK Rx Tx Success Timeout Backoff Pkt Tx Pkt Tx Tx Done Idle

slide-22
SLIDE 22

Packet Flow Example

Data Tx with Re-transmission

CPU High CPU Low DCF Core PHY

MPDU Tx Pkt Tx Pkt Tx Tx Done Pkt Rx ACK Rx Tx Success Timeout Backoff Pkt Tx Pkt Tx Tx Done Idle

CPU High free to manage higher-layer state (802.11 management processes, Ethernet traffic, queueing, user interaction, etc.) while CPU Low and hardware perform actual transmissions and receptions

slide-23
SLIDE 23

MAC Timing Calibration

  • Standard gives precise IFS durations
  • Tight tolerance required
  • Example: SIFS = (16 ± 0.9)µs on medium
  • Must account for hardware & implementation latencies
  • Tricky calibration problem
slide-24
SLIDE 24

802.11 Ref Design WARP v3 AP Linksys WRT54G STA Power Splitter WARP v3 Monitor Oscilloscope

(RSSI > Thresh) PHY Tx PHY Rx

Hardware Setup

MAC Timing Calibration

slide-25
SLIDE 25

WARP AP ⇄ Wi-Fi Station

Data ACK

MAC Timing Calibration

WARP Tx WARP Rx Energy Monitor

slide-26
SLIDE 26

WARP AP ⇄ Wi-Fi Station

9µs Slot

MAC Timing Calibration

WARP Tx WARP Rx Energy Monitor ACK Data

slide-27
SLIDE 27

WARP AP ⇄ Wi-Fi Station

Deferred transmissions at slot boundaries

MAC Timing Calibration

WARP Tx WARP Rx Energy Monitor ACK Data

slide-28
SLIDE 28

WARP AP ⇄ Wi-Fi Station

MAC Timing Calibration

WARP Tx WARP Rx Energy Monitor Data ACK 16µs SIFS 34µs DIFS

slide-29
SLIDE 29

WARP AP ⇄ Wi-Fi Station

16µs SIFS

MAC Timing Calibration

WARP Tx WARP Rx Energy Monitor Data ACK 34µs DIFS

slide-30
SLIDE 30

WARP AP ⇄ Wi-Fi Station

16µs SIFS

MAC Timing Calibration

WARP Tx WARP Rx Energy Monitor Data ACK 34µs DIFS

Calibration confirmed by simple energy-only observer seeing identical medium idle intervals from WARP and Wi-Fi devices

slide-31
SLIDE 31
  • Interoperability
  • Real-time MAC & PHY in FPGA
  • No compromises on MAC timing or PHY features
  • AP & station implementations
  • Experimental Visibility
  • Hooks throughout MAC & PHY
  • Framework for running experiments and understanding results
  • Extensibility
  • All source code open
  • Behavior specified in software whenever possible
  • Interfaces for real world traffic

802.11 Reference Design

slide-32
SLIDE 32

Experiment Framework

WARPnet

  • New framework for real-time control and measurement
  • Directly observe PHY/MAC events at all nodes in real-time
  • Hooks throughout 802.11 Reference Design MAC and PHY
slide-33
SLIDE 33

Experiment Framework

  • Timestamp
  • Tx Power, Rate, Length
  • MAC headers
  • Sequence number
  • Tx result (ACK/timeout, number
  • f re-transmissions, etc.)

Transmit Events

  • Timestamp
  • Rx Power, Rate, Length
  • MAC headers
  • Sequence number
  • Per-subcarrier channel estimates
  • Rx result (FCS good/bad)

Receive Events

Baseline Implementation

slide-34
SLIDE 34

Experiment Framework

Demonstration

Wi-Fi Client Mango 802.11 Reference Design AP

TCP Speed Test (Uplink then Downlink) 802.11 Wireless Link

slide-35
SLIDE 35

Experiment Framework

Demonstration

Visualization of WARPnet log for 50 second experiment

slide-36
SLIDE 36

Experiment Framework

Demonstration

Rx Power Rx Times & Rates

Visualization of WARPnet log for 50 second experiment

slide-37
SLIDE 37

Experiment Framework

Demonstration

Rx Rates

Visualization of WARPnet log for 50 second experiment

slide-38
SLIDE 38

Experiment Framework

Demonstration

# Re-Transmissions Tx Times & Rates

Visualization of WARPnet log for 50 second experiment

slide-39
SLIDE 39

Experiment Framework

Demonstration

# Re-Transmissions

Visualization of WARPnet log for 50 second experiment

slide-40
SLIDE 40

Experiment Framework

Demonstration

slide-41
SLIDE 41

≈2.5 seconds

Experiment Framework

Demonstration

Rx Power Rx Times & Rates # Re-Transmissions Tx Times & Rates

slide-42
SLIDE 42

Experiment Framework

Demonstration

Channel Estimates

slide-43
SLIDE 43

Experiment Framework

WARPnet

  • Prototype framework built in MATLAB
  • Too slow for multi-node experiments with long logs
  • Re-implementation in Python is underway
  • Will be part of 802.11 Reference Design v1.0 release
slide-44
SLIDE 44
  • Interoperability
  • Real-time MAC & PHY in FPGA
  • No compromises on MAC timing or PHY features
  • AP & station implementations
  • Experimental Visibility
  • Hooks throughout MAC & PHY
  • Framework for running experiments and understanding results
  • Extensibility
  • All source code open
  • Behavior specified in software whenever possible
  • Interfaces for real world traffic

802.11 Reference Design

slide-45
SLIDE 45

Ethernet

Networks & Real Traffic

MAC Framework MAC DCF Core WARP v3 Node Hardware Support CPU High 802.11 DCF MAC CPU Low PHY Tx PHY Rx Top-Level MAC

  • Ethernet encapsulation is straightforward
  • Wired-wireless bridging already built
  • AP wired to PC or network
  • PC wired to each STA
slide-46
SLIDE 46

PC PC PC

Network

AP Stations

Networks & Real Traffic

slide-47
SLIDE 47

PC PC PC

Network

AP Stations

Networks & Real Traffic

PC-per-station works fine, but doesn’t scale well for larger experiments and limits interaction between OS and MAC/PHY.

slide-48
SLIDE 48

Networks & Real Traffic

Ethernet

MAC Framework MAC DCF Core WARP v3 Node Hardware Support CPU High 802.11 DCF MAC CPU Low PHY Tx PHY Rx Top-Level MAC

slide-49
SLIDE 49

Ethernet

Networks & Real Traffic

802.11 NIC?

MAC Framework MAC DCF Core WARP v3 Node Hardware Support CPU High 802.11 DCF MAC CPU Low PHY Tx PHY Rx Top-Level MAC

slide-50
SLIDE 50

Networks & Real Traffic

802.11 NIC?

PC OS

MAC Framework MAC DCF Core WARP v3 Node Hardware Support CPU High 802.11 DCF MAC CPU Low PHY Tx PHY Rx Top-Level MAC

slide-51
SLIDE 51

Proof of Concept: Wireless NIC

slide-52
SLIDE 52

Proof of Concept: Wireless NIC

WARP v3 Node

slide-53
SLIDE 53

Zynq FMC Module using Avnet MicroZed SOM

Proof of Concept: Wireless NIC

slide-54
SLIDE 54
  • Proof of concept
  • Ubuntu Desktop in Zynq
  • WARP v3 + 802.11 as NIC
  • User-mode driver via TUN/TAP
  • USB display, keyboard & mouse
  • Observe- no Ethernet connections

Proof of Concept: Wireless NIC

slide-55
SLIDE 55

iperf TCP Web browsing

802.11 Ref Design WARP v3 STA Linux on Zynq Linksys WRT54G AP Ethernet Wi-Fi

Proof of Concept: Wireless NIC

slide-56
SLIDE 56

iperf TCP Web browsing

802.11 Ref Design WARP v3 STA Linux on Zynq Linksys WRT54G AP Ethernet Wi-Fi

Proof of Concept: Wireless NIC

Demo videos at: http://youtu.be/ooybCltXkEo

slide-57
SLIDE 57

Preliminary Characterization

Proof of Concept: Wireless NIC

802.11 Ref Design WARP v3 STA Linksys WRT54G AP

65dB

PC

Ethernet Ethernet

PC 802.11 Ref Design WARP v3 STA Linksys WRT54G AP

65dB

PC

Ethernet

Linux on Zynq Linksys WRT54G AP

65dB

PC

Ethernet Ethernet

PC Linksys WRT54G STA

slide-58
SLIDE 58

6 12 18 24 30 36 Mbps 48 Mbps 54 Mbps

UDP Throughput (Mbps) PHY Rate (Mbps) PC → Linksys AP → WARP STA → Zynq PC → Linksys AP → WARP STA → PC PC → Linksys AP → Linksys STA → PC

Proof of Concept: Wireless NIC

Preliminary Characterization

slide-59
SLIDE 59

6 12 18 24 30 36 Mbps 48 Mbps 54 Mbps

UDP Throughput (Mbps) PHY Rate (Mbps) PC → Linksys AP → WARP STA → Zynq PC → Linksys AP → WARP STA → PC PC → Linksys AP → Linksys STA → PC

Proof of Concept: Wireless NIC

Preliminary Characterization

Pleasingly boring results- 802.11 Reference Design matches performance of Wi-Fi devices, whether bridged via Ethernet

  • r as a programmable wireless NIC

(Full characterization underway - see http://warpproject.org/802.11)

slide-60
SLIDE 60
  • All source, documentation & characterization online:
  • http://warpproject.org/802.11
  • Current version is 0.6-beta
  • Aiming for 1.0 release in January
  • WARPnet framework in Python
  • Cleaned and commented C code
  • Migration to Xilinx ISE 14.7
  • Feedback is always welcome

Mango 802.11 Reference Design