Changes between Version 64 and Version 65 of 802.11/wlan_exp/app_notes/dcf_with_multiple_flows


Ignore:
Timestamp:
Apr 22, 2014, 4:15:35 PM (10 years ago)
Author:
murphpo
Comment:

--

Legend:

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

    v64 v65  
    5959 * '''Throughput''': ratio of total number of MAC bits received and experiment duration
    6060
    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.
     61It 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.
    6262
    6363= Tx/Rx Log Results =
    6464
    65 The 802.11 Reference Design experiments framework includes a 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.
     65The 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.
    6666
    6767== Rx Power vs. Time ==
     
    7878
    7979== 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 bytes 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.
     80The 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.
    8181
    8282||||=  '''Throughput vs. Time  Per Flow'''  =||
     
    8484||  '''Physical Carrier Sensing Enabled'''  ||  '''Physical Carrier Sensing Disabled'''  ||
    8585
    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 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.
     86These 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.
    8787
    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 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.
     88The 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.
    8989
    9090||||=  '''Throughput Histograms Per Flow'''  =||
     
    9292||  '''Physical Carrier Sensing Enabled'''  ||  '''Physical Carrier Sensing Disabled'''  ||
    9393
    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.
     94These 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.
    9595
    9696----
     
    9898== Contention Windows vs. Time ==
    9999
    100 The 802.11 DCF contention window determines the distribution of slot counts for selecting the 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.
     100The 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.
    101101
    102102Ideally 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.
    103103
    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.
     104The 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.
    105105
    106106||||=  '''Contention Windows at Each Node vs. Time'''  =||
     
    108108||  '''Physical Carrier Sensing Enabled'''  ||  '''Physical Carrier Sensing Disabled'''  ||
    109109
    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.
     110These 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.
    111111
    112112
     
    117117The 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.
    118118
    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.
     119When 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.
    120120
    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 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.
     121We 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.
    122122
    123123The plots below show the results of this analysis for all 4 traffic flows with physical carrier sensing enabled (left) and disabled (right).
     
    133133||  [[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)]]  ||
    134134
    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.
     135These 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.
    136136
    137137----