Changes between Version 76 and Version 77 of 802.11/wlan_exp/app_notes/dcf_with_multiple_flows
- Timestamp:
- Oct 23, 2014, 7:42:26 AM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
802.11/wlan_exp/app_notes/dcf_with_multiple_flows
v76 v77 16 16 = Experimental Setup = 17 17 18 The experiments described below use 3 Mango WARP v3 kits, each running the [wiki:../../../Changelog#a 0.92BetaRelease 802.11 Reference Design (version v0.92)], including the [wiki:../../../wlan_exp WLAN Experimental Framework].18 The 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]. 19 19 20 20 Each 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. … … 28 28 * Packet Length: 1400 byte payloads (1428 byte MPDUs, with MAC header and FCS) 29 29 * PHY Rate: 18 Mbps (QPSK, code rate 3/4) 30 * Tx Power: -5 dBm30 * Tx Power: 5 dBm 31 31 * Trial Duration: 300 seconds 32 32 * 2.4GHz channel 1 … … 43 43 The colors in the figure above are used throughout this app note to denote each flow. 44 44 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 transmission59 * '''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-transmissions61 * '''MPDU Rx''': total number of MAC data frames received successfully62 * '''Throughput''': ratio of total number of MAC bits received and experiment duration63 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 66 45 = Tx/Rx Log Results = 67 46 … … 73 52 74 53 ||||= '''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)]] || 76 55 || '''Physical Carrier Sensing Enabled''' || '''Physical Carrier Sensing Disabled''' || 77 56 … … 81 60 82 61 == 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 theaggregate 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.62 The [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. 84 63 85 64 ||||= '''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)]] || 87 66 || '''Physical Carrier Sensing Enabled''' || '''Physical Carrier Sensing Disabled''' || 88 67 89 68 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 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. 90 69 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 apparentin both total throughput and in lower variation of individual flow throughputs with time.70 The 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. 92 71 93 72 ||||= '''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)]] || 95 74 || '''Physical Carrier Sensing Enabled''' || '''Physical Carrier Sensing Disabled''' || 96 75 … … 101 80 == Contention Windows vs. Time == 102 81 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.82 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 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). 104 83 105 Ideally a node's contention window would never increase from 1 6(the minimum). In reality packet collisions and losses require re-transmissions, leading to inevitable contention window increases.84 Ideally 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. 106 85 107 The contention window resets to its minimum following a 86 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. 108 87 109 88 ||||= '''Contention Windows at Each Node vs. Time''' =|| … … 111 90 || '''Physical Carrier Sensing Enabled''' || '''Physical Carrier Sensing Disabled''' || 112 91 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.92 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. 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. 114 93 115 94 … … 126 105 The plots below show the results of this analysis for all 4 traffic flows with physical carrier sensing enabled (left) and disabled (right). 127 106 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)]] || 129 109 || '''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)]] ||137 110 138 111 These 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.