Changes between Version 76 and Version 77 of 802.11/wlan_exp/app_notes/dcf_with_multiple_flows


Ignore:
Timestamp:
Oct 23, 2014, 7:42:26 AM (10 years ago)
Author:
chunter
Comment:

--

Legend:

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

    v76 v77  
    1616= Experimental Setup =
    1717
    18 The experiments described below use 3 Mango WARP v3 kits, each running the [wiki:../../../Changelog#a0.92BetaRelease 802.11 Reference Design (version v0.92)], including the [wiki:../../../wlan_exp WLAN Experimental Framework].
     18The experiments described below use 3 Mango WARP v3 kits, each running the [wiki:../../../Changelog#a1.0Release 802.11 Reference Design (version v1.0)], including the [wiki:../../../wlan_exp WLAN Experimental Framework].
    1919
    2020Each node's RF interface is connected to an antenna with a toroidal pattern with 7dBi gain in all horizontal directions ([http://www.l-com.com/wireless-antenna-24-ghz-7-dbi-desktop-omni-antenna-4ft-sma-male-connector L-Com RE07U-SM]). The antennas are positioned within line-of-sight.
     
    2828 * Packet Length: 1400 byte payloads (1428 byte MPDUs, with MAC header and FCS)
    2929 * PHY Rate: 18 Mbps (QPSK, code rate 3/4)
    30  * Tx Power: -5 dBm
     30 * Tx Power: 5 dBm
    3131 * Trial Duration: 300 seconds
    3232 * 2.4GHz channel 1
     
    4343The colors in the figure above are used throughout this app note to denote each flow.
    4444
    45 = Aggregate Results =
    46 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.
    47 
    48 These statistics for our two experiments are in the table below.
    49 
    50 ||    ||||=  # MPDU Tx  =||||=  # PHY Tx  =||||= # PHY Re-Tx  =||||=  # MPDU Rx  =||||=  Throughput (Mbps)  =||
    51 ||= Physical Carrier Sensing =||  On  ||  Off  ||  On  ||  Off  ||  On  ||  Off  ||  On  ||  Off  ||  On  ||  Off  ||
    52 ||=  Flow 1  =|| 51,804|| 46,883|| 65,531|| 65,951|| 13,727|| 19,068|| 51,806|| 46,820||  1.97|| 1.78||
    53 ||=  Flow 2  =|| 51,792|| 46,864|| 66,211|| 66,090|| 14,419|| 19,226|| 51,792|| 46,794||  1.97||  1.78||
    54 ||=  Flow 3  =|| 114,116|| 113,725|| 140,036|| 151,143|| 25,920|| 37,418|| 114,115|| 113,597|| 4.33|| 4.31||
    55 ||=  Flow 4  =|| 121,787|| 118,609|| 147,488|| 156,835|| 25,701|| 38,226|| 121,788|| 118,523|| 4.62|| 4.50||
    56 
    57 Metrics:
    58  * '''MPDU Tx''': total number of unique MAC data frames submitted to the DCF for transmission
    59  * '''PHY Tx''': total number of PHY transmissions (includes initial transmission and all re-transmissions of all MPDUs)
    60  * '''PHY Re-Tx''': total number of PHY re-transmissions
    61  * '''MPDU Rx''': total number of MAC data frames received successfully
    62  * '''Throughput''': ratio of total number of MAC bits received and experiment duration
    63 
    64 It is clear that physical carrier sensing improves overall throughput, and reduces the number of re-transmissions. But the underlying reasons 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.
    65 
    6645= Tx/Rx Log Results =
    6746
     
    7352
    7453||||=  '''Rx Power vs. Time'''  =||
    75 ||  [[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)]]  ||
     54||  [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:v1_0_cs_pow_vs_time.png, width=500)]]  ||  [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:v1_0_no_cs_pow_vs_time.png, width=500)]]  ||
    7655||  '''Physical Carrier Sensing Enabled'''  ||  '''Physical Carrier Sensing Disabled'''  ||
    7756
     
    8160
    8261== Throughput vs. Time ==
    83 The aggregate results above provide the total throughput over the full experiment duration. This throughput is computed as the ratio of successfully received bits and time. 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.
     62The [wiki:802.11/wlan_exp experiments framework] provides an example of [wiki:802.11/wlan_exp/examples/throughput_stats measuring aggregate throughput] through the use of statistics. While useful for some applications, 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.
    8463
    8564||||=  '''Throughput vs. Time  Per Flow'''  =||
    86 ||  [[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)]]  ||
     65||  [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:v1_0_cs_xput_vs_time.png, width=500)]]  ||  [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:v_1_0_no_cs_xput_vs_time.png, width=500)]]  ||
    8766||  '''Physical Carrier Sensing Enabled'''  ||  '''Physical Carrier Sensing Disabled'''  ||
    8867
    8968These plots show the throughput of each flow as a function of time. Each throughput curve is computed as a 1 second rolling window of bits 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.
    9069
    91 The 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 at specific intervals. Random access (i.e. distributed coordination) adds variation in the instantaneous throughputs. An effective 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.
     70The impact of physical carrier sensing is apparent in the wider variation of instantaneous throughputs achieved by each flow. In a perfectly-coordinated TDMA system there would be zero variation in throughput with time in a high SNR line-of-site environment like this experiment — each flow would be allocated its fair share and would use the medium at specific intervals. Random access (i.e. distributed coordination) adds variation in the instantaneous throughputs. An effective 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 visible in both total throughput and in lower variation of individual flow throughputs with time.
    9271
    9372||||=  '''Throughput Histograms Per Flow'''  =||
    94 ||  [[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)]]  ||
     73||  [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:v1_0_cs_xput_hist.png, width=500)]]  ||  [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:v1_0_no_cs_xput_hist.png, width=500)]]  ||
    9574||  '''Physical Carrier Sensing Enabled'''  ||  '''Physical Carrier Sensing Disabled'''  ||
    9675
     
    10180== Contention Windows vs. Time ==
    10281
    103 The 802.11 DCF contention window determines the distribution of available slot counts when selecting a random backoff period. The contention window grows (i.e. longer average backoffs) with each failed attempt to transmit a packet. The contention window growth is exponential, starting at 16 and doubling with each re-transmission, up to a maximum of 1024.
     82The 802.11 DCF contention window determines the distribution of available slot counts when selecting a random backoff period. The contention window grows (i.e. longer average backoffs) with each failed attempt to transmit a packet. The contention window growth is exponential, starting at a width of 16 (i.e. [0,15] slots) and doubling with each re-transmission, up to a maximum width of 1024 (i.e. [0, 1023] slots).
    10483
    105 Ideally a node's contention window would never increase from 16 (the minimum). In reality packet collisions and losses require re-transmissions, leading to inevitable contention window increases.
     84Ideally a node's contention window would never increase from 15 (the minimum). In reality packet collisions and losses require re-transmissions, leading to inevitable contention window increases.
    10685
    107 The contention window resets to its minimum following a  successful transmission. When a collision occurs we expect a node's contention window to increase briefly, then reset when the transmission failure is resolved by a future re-transmission. But if collisions are very common (i.e. sequential transmission failures are frequent), we would expect to see higher contention window values that persist longer.
     86The contention window resets to its minimum following a successful transmission. When a collision occurs we expect a node's contention window to increase briefly, then reset when the transmission failure is resolved by a future re-transmission. But if collisions are very common (i.e. sequential transmission failures are frequent), we would expect to see higher contention window values that persist longer.
    10887
    10988||||=  '''Contention Windows at Each Node vs. Time'''  =||
     
    11190||  '''Physical Carrier Sensing Enabled'''  ||  '''Physical Carrier Sensing Disabled'''  ||
    11291
    113 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 physical carrier sensing on contention windows is dramatic. Disabling physical carrier sensing increases the probability of collisions. As explained above, more collisions lead to more transmission failures, leading to higher expected contention window values, resulting in longer backoff periods and lower throughput. This is exactly what the results show.
     92These 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. Note, the same rolling average technique used in the above throughput graphs is being employed here. This is why contention windows appear to take on values in between the powers of 2 values that the 802.11 standard specifies. The impact of physical carrier sensing on contention windows is dramatic. Disabling physical carrier sensing increases the probability of collisions. As explained above, more collisions lead to more transmission failures, leading to higher expected contention window values, resulting in longer backoff periods and lower throughput. This is exactly what the results show.
    11493
    11594
     
    126105The plots below show the results of this analysis for all 4 traffic flows with physical carrier sensing enabled (left) and disabled (right).
    127106
    128 ||||=  '''Time Offsets of Colliding Packets - Flow 1'''  =||
     107||||=  '''Collision Tx Start Time Offsets'''  =||
     108||  [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:cs_collision_offset.png, width=500)]]  ||  [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_collision_offset.png, width=500)]]  ||
    129109||  '''Physical Carrier Sensing Enabled'''  ||  '''Physical Carrier Sensing Disabled'''  ||
    130 ||  [[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)]]  ||
    131 ||||=  '''Time Offsets of Colliding Packets - Flow 2'''  =||
    132 ||  [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:cs_coll_flow_2.png, width=300)]]  || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_coll_flow_2.png, width=300)]]  ||
    133 ||||=  '''Time Offsets of Colliding Packets - Flow 3'''  =||
    134 ||  [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:cs_coll_flow_3.png, width=300)]]  || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_coll_flow_3.png, width=300)]]  ||
    135 ||||=  '''Time Offsets of Colliding Packets - Flow 4'''  =||
    136 ||  [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:cs_coll_flow_4.png, width=300)]]  || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_coll_flow_4.png, width=300)]]  ||
    137110
    138111These plots clearly demonstrate that physical carrier sensing leads to very small differences in Tx start times of colliding packets, consistent with our expectation of collisions occurring only when nodes select the same random backoff period. However, when carrier sensing is disabled, there are both more collisions and the collisions occur with a much larger range of Tx time offsets. This behavior increases the cost of a collision, reducing effective medium utilization and overall throughput.