Changes between Version 64 and Version 65 of 802.11/wlan_exp/app_notes/dcf_with_multiple_flows
- Timestamp:
- Apr 22, 2014, 4:15:35 PM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
802.11/wlan_exp/app_notes/dcf_with_multiple_flows
v64 v65 59 59 * '''Throughput''': ratio of total number of MAC bits received and experiment duration 60 60 61 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 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. 62 62 63 63 = Tx/Rx Log Results = 64 64 65 The 802.11 Reference Design experiments framework includes a flexible logging systemthat 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.65 The 802.11 Reference Design experiments framework includes a [wiki:802.11/wlan_exp/log 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. 66 66 67 67 == Rx Power vs. Time == … … 78 78 79 79 == Throughput vs. Time == 80 The aggregate results above provide the total throughput over the full experiment duration. This throughput is computed as the ratio of successfully received b ytes 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.80 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. 81 81 82 82 ||||= '''Throughput vs. Time Per Flow''' =|| … … 84 84 || '''Physical Carrier Sensing Enabled''' || '''Physical Carrier Sensing Disabled''' || 85 85 86 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 b ytes 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 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. 87 87 88 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 effectcoordination 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 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. 89 89 90 90 ||||= '''Throughput Histograms Per Flow''' =|| … … 92 92 || '''Physical Carrier Sensing Enabled''' || '''Physical Carrier Sensing Disabled''' || 93 93 94 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 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 temporal variations in each flow's throughput. 95 95 96 96 ---- … … 98 98 == Contention Windows vs. Time == 99 99 100 The 802.11 DCF contention window determines the distribution of slot counts for selecting therandom 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.100 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. 101 101 102 102 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. 103 103 104 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. transmission failures are frequent), we would expect to see higher contention window values that persist longer.104 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. 105 105 106 106 ||||= '''Contention Windows at Each Node vs. Time''' =|| … … 108 108 || '''Physical Carrier Sensing Enabled''' || '''Physical Carrier Sensing Disabled''' || 109 109 110 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 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. 111 111 112 112 … … 117 117 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. 118 118 119 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 When physical carrier sensing works 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 that may overlap the ongling colliding transmissions. 120 120 121 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 extractand 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 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 common events, such as AP beacon transmissions and STA beacon receptions. Once the time drift between nodes is corrected, the Tx timestamps and Tx durations are extracted 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. 122 122 123 123 The plots below show the results of this analysis for all 4 traffic flows with physical carrier sensing enabled (left) and disabled (right). … … 133 133 || [[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)]] || 134 134 135 As you can see from the plots above, when physical carrier sensing is enabled, the only collisions we see are when the time offset between the nodes is essentially zero (i.e. both transmissions were started in the same slot). However, when carrier sensing is disabled, we can see that not only were there more collisions, we have collisions with varying time offsets meaning that the nodes failed to sense the collision.135 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. 136 136 137 137 ----