Changes between Version 58 and Version 59 of 802.11/wlan_exp/app_notes/dcf_with_multiple_flows


Ignore:
Timestamp:
Apr 22, 2014, 3:21:17 PM (10 years ago)
Author:
chunter
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 802.11/wlan_exp/app_notes/dcf_with_multiple_flows

    v58 v59  
    33This application note presents results from a simple experiment using the Mango 802.11 Reference Design and its experiments framework. We use three WARP v3 nodes to build a basic 802.11 network, with one AP and two stations (STA). All three nodes contend for medium access with backlogged flows. The experiments framework enables a detailed study of the performance of each traffic flow, providing insight into the low-level behavior of the 802.11 MAC Distributed Coordination Function (DCF). As the independent variable in our experiments we modify the state of physical carrier sensing at each node.
    44
    5 The primary purpose of this app note is to demonstrate the 802.11 Reference Design and its experiments framework, and to highlight the variety of experimental data which can be computed from the Tx/Rx log recorded at each node. This app note is not an exhaustive study of carrier sensing. There are [http://scholar.google.com/scholar?hl=en&q=carrier+sensing many scholarly articles] on the carrier sensing that provide a much richer theoretical background.
     5The primary purpose of this app note is to demonstrate the 802.11 Reference Design and its experiments framework, and to highlight the variety of experimental data which can be computed from the Tx/Rx log recorded at each node. This app note is not an exhaustive study of physical carrier sensing. There are [http://scholar.google.com/scholar?hl=en&q=carrier+sensing many scholarly articles] on the physical carrier sensing that provide a much richer theoretical background.
    66
    77== Table of Contents ==
     
    5858 * '''Throughput''': ratio of total number of MAC bits received and experiment duration
    5959
    60 It is clear that carrier sensing improves overall throughput, and reduces the number of re-transmissions. But the underlying reason for these changes are impossible to discern from these aggregate results. For a better understanding we must explore the detailed Tx/Rx logs from each node.
     60It is clear that physical carrier sensing improves overall throughput, and reduces the number of re-transmissions. But the underlying reason for these changes are impossible to discern from these aggregate results. For a better understanding we must explore the detailed Tx/Rx logs from each node.
    6161
    6262= Tx/Rx Log Results =
     
    7070||||=  '''Rx Power vs. Time'''  =||
    7171||  [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:cs_pow_vs_time.png, width=500)]]  ||  [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_pow_vs_time.png, width=500)]]  ||
    72 ||  '''Carrier Sensing Enabled'''  ||  '''Carrier Sensing Disabled'''  ||
     72||  '''Physical Carrier Sensing Enabled'''  ||  '''Physical Carrier Sensing Disabled'''  ||
    7373
    74 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.
     74These plots clearly demonstrate the low-mobility, mid-to-high SNR propagation environment for our experiments. And, as expected, the physical carrier sensing threshold does not impact Rx power.
    7575
    7676----
     
    8181||||=  '''Throughput vs. Time  Per Flow'''  =||
    8282||  [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:cs_xput_vs_time.png, width=500)]]  ||  [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_xput_vs_time.png, width=500)]]  ||
    83 ||  '''Carrier Sensing Enabled'''  ||  '''Carrier Sensing Disabled'''  ||
     83||  '''Physical Carrier Sensing Enabled'''  ||  '''PhysicalCarrier Sensing Disabled'''  ||
    8484
    8585These 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 [wiki:802.11/wlan_exp/examples/txrx_log_analysis#LogProcessThroughputvsTime log throughput analysis] example script.
    8686
    87 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 improved 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.
     87The impact of physical 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 improved consistency of throughput when physical 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.
    8888
    8989||||=  '''Throughput Histograms Per Flow'''  =||
    9090||  [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:cs_xput_hist.png, width=500)]]  ||  [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_xput_hist.png, width=500)]]  ||
    91 ||  '''Carrier Sensing Enabled'''  ||  '''Carrier Sensing Disabled'''  ||
     91||  '''Physical Carrier Sensing Enabled'''  ||  '''Physical Carrier Sensing Disabled'''  ||
    9292
    93 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.
     93These 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 physical carrier sensing reduces variations in each flow's throughput.
    9494
    9595----
     
    107107||  '''Physical Carrier Sensing Enabled'''  ||  '''Physical Carrier Sensing Disabled'''  ||
    108108
    109 These plots show the actual contention window value of every node at the time of every PHY transmission. The contention window is only updated following PHY transmissions, so these plots capture the complete history of contention window values at every node. The impact of carrier sensing on contention window is dramatic. Disabling carrier sensing increases the probability of collisions. As explained above, more collisions leads to more transmission failures, leading to higher expected contention window values. This is exactly what the results show.
     109These plots show the actual contention window value of every node at the time of every PHY transmission. The contention window is only updated following PHY transmissions, so these plots capture the complete history of contention window values at every node. The impact of physical carrier sensing on contention window is dramatic. Disabling physical carrier sensing increases the probability of collisions. As explained above, more collisions leads to more transmission failures, leading to higher expected contention window values. This is exactly what the results show.
    110110
    111111
     
    116116The DCF backoff procedure divides each waiting period into discrete slots. Nodes wait an integral number of slots before transmitting. The slot duration is 9 usec.
    117117
    118 When carrier sensing is working correctly, we expect that collisions will occur when two nodes select the same backoff slot count and initiate their transmissions in the same slot. When carrier sensing is disabled, nodes will still collide when they choose the same slot count. But other nodes, with larger backoff slot values, will fail to sense the collision and will initiate their own transmission in a future slot.
     118When physical carrier sensing is working correctly, we expect that collisions will occur when two nodes select the same backoff slot count and initiate their transmissions in the same slot. When physical carrier sensing is disabled, nodes will still collide when they choose the same slot count. But other nodes, with larger backoff slot values, will fail to sense the collision and will initiate their own transmission in a future slot.
    119119
    120120We can test these expectations by analyzing the timestamps of PHY Tx events in the node logs. The absolute time difference between nodes is first resolved by identifying log entries of a common event, such as beacon transmissions and receptions. Once the time drift between nodes is corrected, the Tx timestamps can be extract and analyzed for overlapping Tx events. When overlapping Tx events are located, the timestamps of the Tx events are compared to compute the difference in Tx start times. We expect this difference to be small when carrier sensing allows nodes to defer to ongoing collisions.
    121121
    122 The plots below show the results of this analysis for all 4 traffic flows with carrier sensing enabled (left) and disabled (right).
     122The plots below show the results of this analysis for all 4 traffic flows with physical carrier sensing enabled (left) and disabled (right).
    123123
    124124||||=  '''Time Offsets of Colliding Packets - Flow 1'''  =||
    125 ||  '''Carrier Sensing Enabled'''  ||  '''Carrier Sensing Disabled'''  ||
     125||  '''Physical Carrier Sensing Enabled'''  ||  '''Physical Carrier Sensing Disabled'''  ||
    126126||  [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:cs_coll_flow_1.png, width=300)]]  || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_coll_flow_1.png, width=300)]]  ||
    127127||||=  '''Time Offsets of Colliding Packets - Flow 2'''  =||