wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows

Version 43 (modified by murphpo, 10 years ago) (diff)

--

Investigating Physical Carrier Sensing in the DCF with Multiple Traffic Flows

The purpose of the 802.11 Distributed Coordination Function (DCF) is to allow multiple traffic flows to contend for a shared wireless medium. In this application note we investigate how the Mango 802.11 Reference Design behaves when subjected to multiple traffic flows. This note provides a case study on how the design's experiments framework can be used to control and analyze the performance of 802.11 Reference Design nodes.

Experimental Setup

The experiments described below used 3 Mango WARP v3 kits, each running the 802.11 Reference Design (version v0.91).

Each node's RF interface was connected to an antenna with a toroidal pattern with 5dBi gain in all horizontal directions (L-Com RE07U-SM).

The nodes were indoors in a small office environment with limited mobility.

Experimental Setup

Experiment Details

  • Packet Length: 1400 byte payloads (1428 bytes OTA with MAC header and FCS)
  • PHY Rate: 18 Mbps (QPSK, code rate 3/4)
  • Tx Power: -5 dBm
  • Trial Duration: 300 seconds
  • 2.4GHz channel 1
  • Physical Carrier Sensing Threshold: approximately -70 dBm when enabled

We use 4 traffic flows in our experiments:

  • Flow 1: Backlogged traffic from AP to STA_1
  • Flow 2: Backlogged traffic from AP to STA_2
  • Flow 3: Backlogged traffic from STA_1 to AP
  • Flow 4: Backlogged traffic from STA_2 to AP

The colors in the figure above are used throughout this app note to denote each flow.

Aggregate Results

The simplest analysis uses the aggregate Tx/Rx statistics at each node. These statistics include the total number of packets and bytes transmitted and received for each flow, and the number of successful packets and bytes for each flow.

These statistics are sufficient to calculate total throughput, packet delivery ratio (PDR) and average number of re-transmissions per packet.

TODO: NEEDS DATA

Flow 1 Flow 2 Flow 3 Flow 4
Carrier Sensing On Off On Off On Off On Off
Tx Pkts 1a 1b 2a 2b 3a 3b 4a 4b
Rx Pkts 1a 1b 2a 2b 3a 3b 4a 4b

It is clear that without carrier sensing all flows suffer...

But the aggregate statistics do not provide enough information to understand why performance suffered. For this, we need to explore the Tx/Rx logs from each node.

Tx/Rx Log Results

The 802.11 Reference Design experiments framework includes a flexible logging system that runs in real-time at every node. This system keeps a record of every Tx and Rx event at the node. For Tx events the log includes both the high-level MPDU Tx (as implemented in CPU High) and the low-level PHY Tx events for each MPDU. Each low-level Tx record includes the timestamp of the actual PHY transmission plus MAC parameters for the transmission (number of backoff slots, current contention window, re-transmission count, etc.). By retrieving the logs from every node following the experiment and analyzing them together, we can gain significant understanding of the behaviors of the nodes and how various parameters impact performance on short and long timescales.

Rx Power vs. Time

The first log-based analysis simply plots the received power of every packet for each node, grouped by traffic flow.

Rx Power vs. Time
Carrier Sensing Enabled Carrier Sensing Disabled

These plots clearly demonstrate the low-mobility, mid-to-high SNR propagation environment for our experiments. And, as expected, the carrier sensing threshold does not impact Rx power.


Throughput vs. Time

The aggregate results above provide the total throughput over the full experiment duration. This throughput is computed as the ratio of successfully received bytes and time duration. But the aggregate throughput does not provide insight into any variations in throughput over the course of the experiment. Using the Rx events in the node logs we can gain a fine-grained view of throughput vs. time.

Throughput vs. Time Per Flow
Carrier Sensing Enabled Carrier Sensing Disabled

These plots show the throughput of each flow as a function of time. Each throughput curve is computed as a 1 second rolling window of bytes received by each node for each flow. This 1 second window is rolled over the full 300 second log in steps of 1 msec. This calculation is based on the log throughput analysis example script.

The impact of carrier sensing is apparent in the wide variation of instantaneous throughputs achieved by each flow. In a perfectly-coordinated TDMA system there would be zero variation in throughput with time — each flow would be allocated its fair share and would use the medium a specific intervals. Random access (i.e. distributed coordination) adds variation in the instantaneous throughputs. An effect coordination function should minimize these variations. Carrier sensing is designed to detect potential collisions and defer transmissions that would likely fail. These plots clearly demonstrate the improve consistency of throughput when carrier sensing is used to defer transmissions. The improvement is apparent in both total throughput and in lower variation of individual flow throughputs with time.

Throughput Histograms Per Flow
Carrier Sensing Enabled Carrier Sensing Disabled

These plots use the same data as the throughput vs. time curves above, aggregated as histograms to show the probability density function of short-term throughputs per flow. Ideally each histogram would be a delta function. Again, it's clear carrier sensing reduces variations in each flow's throughput.


Contention Windows vs. Time

Contention Windows at Each Node vs. Time
Carrier Sensing Enabled Carrier Sensing Disabled



Experiment 1: Physical Carrier Sensing Enabled

The first experiment enables physical carrier sensing at all 3 nodes. This experiment highlights the expected behavior of the DCF in an environment with heavy contention for the medium.

Experiment Details

  • Packet Length: 1400 byte payloads (1428 bytes OTA with MAC header and FCS)
  • PHY Rate: 18 Mbps (QPSK, code rate 3/4)
  • Tx Power: -5 dBm
  • Trial Duration: 300 seconds
  • 2.4GHz channel 1
  • Physical Carrier Sensing Threshold: 250/1023 (approximately -70 dBm)

Analysis

The same analysis is performed on the results of the two experiments below. The analysis results are shown in the plots for experiment.

Aggregate Results

Log-based Results

Each experiment ran for 300 seconds, during which all three nodes were writing logs to local memory for every Tx and Rx event. These logs were retrieved after the experiment for analysis.

  • Throughput vs. Time: computes the throughput of each flow over a 1 second rolling window. The aggregate throughput calculated above is the mean of the 1 second throughputs, but very interesting behaviors can be observed by calculating these throughputs on shorter time scales.

  • Throughput Histogram: plots the probability density function of the time series of throughputs calculated for Throughput vs. Time.

  • Rx Power vs. Time: plots the power of every packet received for each flow

  • Contention Window vs. Time: plots the contention window at each node for every PHY transmission

  • Collision Time Offsets: plots the difference in start times of transmissions that collided, broken down by flow and colliding transmitter

Results

Rx Power vs. Time
Collisions (Zoomed) Collisions (1 second)

Experiment 2: Disabled Physical Carrier Sensing

Experiment Details

  • Packet Length: 1400 byte payloads (1428 bytes OTA with MAC header and FCS)
  • PHY Rate: 18 Mbps
  • Tx Power: -5 dBm
  • Trial Duration: 300 seconds
  • Channel 1
  • Physical Carrier Sensing Threshold: 1023/1023

Results

Throughput vs. Time Throughput Histogram
Rx Power vs. Time
Rx Power vs. Time
Collisions (Zoomed) Collisions (1 second)

Resources

Links to the data sets and experiment scripts used to perform this study will be posted shortly.

Attachments (1)

Download all attachments as: .zip