Changes between Version 58 and Version 59 of 802.11/wlan_exp/app_notes/dcf_with_multiple_flows
- Timestamp:
- Apr 22, 2014, 3:21:17 PM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
802.11/wlan_exp/app_notes/dcf_with_multiple_flows
v58 v59 3 3 This 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. 4 4 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 thecarrier sensing that provide a much richer theoretical background.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 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. 6 6 7 7 == Table of Contents == … … 58 58 * '''Throughput''': ratio of total number of MAC bits received and experiment duration 59 59 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.60 It 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. 61 61 62 62 = Tx/Rx Log Results = … … 70 70 ||||= '''Rx Power vs. Time''' =|| 71 71 || [[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''' || 73 73 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.74 These 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. 75 75 76 76 ---- … … 81 81 ||||= '''Throughput vs. Time Per Flow''' =|| 82 82 || [[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''' || 84 84 85 85 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 [wiki:802.11/wlan_exp/examples/txrx_log_analysis#LogProcessThroughputvsTime log throughput analysis] example script. 86 86 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 whencarrier sensing is used to defer transmissions. The improvement is apparent in both total throughput and in lower variation of individual flow throughputs with time.87 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 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. 88 88 89 89 ||||= '''Throughput Histograms Per Flow''' =|| 90 90 || [[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''' || 92 92 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.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 physical carrier sensing reduces variations in each flow's throughput. 94 94 95 95 ---- … … 107 107 || '''Physical Carrier Sensing Enabled''' || '''Physical Carrier Sensing Disabled''' || 108 108 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. Disablingcarrier 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.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 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. 110 110 111 111 … … 116 116 The 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. 117 117 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. Whencarrier 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.118 When 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. 119 119 120 120 We 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. 121 121 122 The plots below show the results of this analysis for all 4 traffic flows with carrier sensing enabled (left) and disabled (right).122 The plots below show the results of this analysis for all 4 traffic flows with physical carrier sensing enabled (left) and disabled (right). 123 123 124 124 ||||= '''Time Offsets of Colliding Packets - Flow 1''' =|| 125 || ''' Carrier Sensing Enabled''' || '''Carrier Sensing Disabled''' ||125 || '''Physical Carrier Sensing Enabled''' || '''Physical Carrier Sensing Disabled''' || 126 126 || [[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)]] || 127 127 ||||= '''Time Offsets of Colliding Packets - Flow 2''' =||