260 likes | 270 Views
This presentation proposes enhanced contention access mechanisms combining features of p-DCF and v-DCF for improved performance in wireless networks. The presentation includes the details of the proposed mechanisms and their features.
E N D
Presentation for Proposed Enhanced Contention Access Jin-Meng Ho, Sid Schrum, Khaled Turki Donald P. Shaver and Matthew B. Shoemake Texas Instruments Incorporated 12500 TI Blvd. Dallas, Texas 75243 (214) 480-1994 (Ho) jinmengho@ti.com
Outline • The proposed enhanced contention access mechanisms combine the useful features in p-DCF and v-DCF. • This presentation is an expanded version of doc. 802.11-01/063 (merged p-DCF and v-DCF proposal). • The material draws upon doc. 802.11-00/467r2 and doc. 802.11-00/399. • TCMA is incorporated to the extent that the IFS used for enhanced contention access is larger than the IFS used for contention-free access.
Features • The hybrid coordinator (HC) regularly updates and broadcasts traffic category permission probabilities (TCPPs) for all prioritized TCs. • P-DCF (CSMA/AC): A given WSTA immediately uses new TCPPs for all its active local TCs, recalculating its PP as the sum of the new TCPPs and then reseting the backoff timer (single backoff timer per station) • The backoff timer can be quickly reset with the use of maximum-length shift register as a pseudorandom number generator. • Local frame selection uses simple WFQ (weighted fair queueing) discipline based on the weights of the TCPPs assigned to the active local TCs. • V-DCF (CSMA/SA): A given ESTA uses new TCPPs for active local TCs with an expired backoff timer, but not for active local TCs with an unexpired backoff timer, setting the expired backoff timers for new and retransmissions (multiple backoff timers per station) • The backoff timers are set based on a uniform distribution. • Internal conflicts may occur and be resolved prior to actual transmissions. • Wireless ESTAs adjust TCPPs on their own--similar to binary exponential backoff--when they do not receive TCPP updates for 50 TUs • This provides a backup contention access mechanism.
CWmin Issues • CWmin = 31 slots for 802.11b • This appears to be a choice of the right tradeoff between minimizing idles and collisions for a CSMA based on preset backoff rules. • Using smaller CWmin results in increased collisions while using larger CWmin leads to excessive idles for typical channel loads. • CWmin = 15 slots for 802.11a • There is even a smaller room for choosing smaller CWmin for higher-priority TCs. • CWmin traffic monitor • Is the traffic monitor only to monitor the traffic or also to set CWmin values for various TCs? • If the traffic monitor uses only the successful transmissions as an indication of the channel load, it may set CWmin in the opposite direction • When contention is intensive, few successes occur and hence CWmin values are set small (due to the false indication) while they should be large. • Incorrect CWmin values lead to incorrect future CW values which are not to be corrected back under preset backoff rules. • If the traffic monitor also monitors idle and collision times, and sets not only CWmin values for new transmissions but also CWs for retransmissions, it becomes a full blown enhanced contention access coordinator. • Contention by wireless ESTAs becomes selectively adaptive.
0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 CSMA/AC (Adaptive Contention) () PP = P1 PP = P2 PP = P3 Idle Slot 0 X P1 BC = 0 Idle Slot 5 X > P2 BC = 1 Idle Slot 1 X > P2 BC = 2 Idle Slot 2 X P2 BC = 2 Idle Slot 1 X > P2 BC = 1 Idle Slot 1 X > P2 Idle Slot 1 X > P2 BC = 2 Idle Slot 2 X > P2 BC = 3 Idle Slot 3 X > P2 BC = 4 Idle Slot 4 X > P3 BC = 1 Idle Slot 1 X P3 BC = 1 Transmit Transmit Transmit Conceptual Operation Equivalent Backoff Setting X P1BC = 0 X > P2 BC = 1 X > P2 BC = 1 X > P3 BC = 1 X > P2 BC = 2 X > P2 BC = 2 X P3BC = 1 X P2BC = 2 X > P2 BC = 3 BC: Backoff Counter (BC 256) X > P2 BC = 4 X > P2 BC = 5 Each X is a new pseudorandom number uniformly distributed between 0 and 1 X > P2 BC = 6 X > P2 BC = 7 X P2BC = 7 M-Stage Maximum-Length Shift Register
1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 CSMA/AC (Adaptive Contention) (1) • An active WSTA maintains a single backoff timer, and proceeds to contend as a DCF-based STA. • The WSTA (re)calculates its PP as the sum of the latest TCPP values for the active local TCs, setting the TCPPs to zero for the inactive local TCs, and (re)sets its backoff timer accordingly. • This is done following a new TCPP update, following a new frame arrival to an inactive local TC, or following a frame transmission from a local TC. • The WSTA sets the backoff timer using the latest PP with the aid of a fast pseudorandom number generator. • An m-stage maximum-length shift register produces, at each shift, an m-bit binary pseudorandom integer represented by the bits stored in the register. • The pseudorandom integers so generated are uniformly distributed over (0, 2m] and have a period of 2m – 1. Divided by 2m, such pseudorandom integers become pseudorandom numbers uniformly distributed over (0, 1]. • The generation of a new pseudorandom number takes a new shift only, and can be done extremely fast, even compared with a slot time.
1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 CSMA/AC (Adaptive Contention) (2) • The WSTA sets the backoff timer with the aid of a pseudorandom number generator (continued). • Each new pseudorandom number is then compared to the latest PP value. If it is greater than PP, the backoff timer is incremented by one (the backoff timer is reset to zero first, and remains at its maximum limit if this is reached), and otherwise the backoff timer is finished reset, with the shifting of the shift register suspended until the backoff timer is to be reset again. • The reading of the contents of the shift register at this point is a pseudorandom number, X, that is smaller than or equal to PP. • During the repetitive comparison procedure, each time a pseudorandom number is greater than PP and a new one needs to be generated, the backoff timer is incremented by one, and hence the WSTA has an additional idle slot time to generate new pseudorandom numbers and make new comparisons.
CSMA/AC (Adaptive Contention) (3) • The WSTA freezes the backoff timer when it determines the channel to be busy. • For the purposes of counting down a backoff timer and determining the starting time for a transmission, the WSTA considers the channel to remain busy for an additional DIFS duration following a correctly received frame, or for an additional EIFS duration following an incorrectly received frame. • The WSTA decrements the backoff timer by one when it senses the channel to be idle in the current slot. • The WSTA transmits a frame at the beginning of the next slot when the backoff timer reads zero. • The WSTA selects the frame from the local TC of priority k as determined by the range into which X falls: • sum (TCPP0, …, k – 1) < C X sum (TCPP0, …, k), where C = sum (TCPP0, …, 7), sum (TCPP0, …, k) = TCPP0 + TCPP1 + … + TCPPk, and sum (TCPPk – 1) = 0 for k= 0. ... ... TCPP0 TCPP1 TCPPk TCPP7 0 X PP 1
CSMA/AC (Adaptive Contention) (4) • If the WSTA does not receive an ack correctly within the expected ack timeout, it considers its previous transmission to have failed. • The WSTA treats a failed frame as a new frame for retry and subjects it to the same local scheduling discipline, unless the failed frame has exceeded its relevant life time or retry count, in which case the WSTA discards the failed frame without further retransmission. • If the WSTA is to retransmit the failed frame, or/and if the WSTA has other new or retried frames for transmission by contention, it continues its contention. Otherwise, the WSTA stops contention until it becomes active again.
CSMA/AC (Adaptive Contention) (5) • Backup contention access • If an active WSTA is located in an IBSS, or if it has not received TCPP values for 50 TUs from the HC, it performs its contention for a frame transmission using the TCPP values calculated on its own: • Any active local TC that has a non-zero TCPP value continues to have the same TCPP value until it has a frame transmitted. • A local TC of priority i that has just successfully sent a frame has a TCPP value equal to TCPPi, max, where TCPP0, max = 1/33, and TCPPj, max = 2/17, i = 1, 2, …7, if the channel is busy, and has a TCPP value equal to 2i-8 if the channel is idle. • A local TC of priority i that has a retried frame to send after a collision changes its TCPP value from TCPPi to max [TCPPi,min, 2 TCPPi / (4 – TCPPi)], where TCPPi, min = 2/1025, i = 0, 1, 2, …7. • Once the WSTA receives new TCPP values from the HC, it reverts to the HC-coordinated contention by immediately adopting the new TCPP values.
CSMA/AC (Adaptive Contention) (6) ESTA active Calculate PP and set backoff timer No Medium idle for DIFS or EIFS? Yes Yes Decrement backoff timer Recalculate PP and reset backoff timer Any TCPP changed? No Yes No No Transmission permitted? (Backoff timer = 0?) Slot idle? Yes Transmit a frame Yes Contention continued? No Stop
Adaptive Backoff versusPersistent Contention • Backoff Equivalence • Assume that an ESTA begins to transmit with a probability p = PP at slot started at t = 0 and continues to transmit with p at each successive slot. • The probability that the ESTA is not permitted to transmit until t = k slots is P(k = k) = p (1-p)k, k = 0, 1, 2, …. • Equivalently, the ESTA chooses a backoff k = k slots for next transmission • Memoryless Property • The ESTA may choose a backoff time k j slots or k j slots. • For k = k j, resetting backoff timer at t = j with the same p = PP does not alter backoff expiration time probabilistically: P(k = k -j) = P(k = k | k j) • P(k =k | k j) = P(k = k, k j) / P(k j) = P( k) / [ P( j) + P(j + 1) + … ] = p (1-p)k / (1-p)j = p (1-p)k-j = P(k = k - j). • Resetting backoff timer with a larger p statistically shortens the backoff expiration time, and vice versa. k j k-j ... ... 0 1 2 j j+1 k
Uniform versus Geometrical Backoff • To or not to adjust unexpired backoff timers to reflect new TCPP values? • To adjust them without prolonging their expiration times, use the geometrical distribution. • The new backoff time is set with the use of a fast pseudorandom number generator, such as an m-stage maximum-length shift register • The only distribution that has the memoryless property in the discrete space which guarantees the reset backoff timers to expire statistically at the same point of time as the previous backoff timers. • To use the uniform distribution, do not reset the unexpired backoff timers even when new TCPP values occur. • The uniform distribution is used to set the backoff times for new transmissions and for retransmissions following a collision.
CSMA/SA (Selective Adaptation) (1) • An active WSTA maintains multiple backoff timers, with one for each active local TC. • This access method resembles CSMA/AC in that the backoff timers for the transmission of new and retried frames are set based on the corresponding latest TCPP values. • It does not require those backoff times that have not reached zero to be adjusted when new TCPP values occur. • The WSTA (re)sets the backoff timers of zero reading for the active local TCs. • The WSTA first calculates the corresponding contention windows as CWi = 2(1/TCPPi – 1), and then sets the backoff counters to pseudorandom integers independently drawn from a uniform distribution over [0, CWi] . • This TCPP-CW relationship gives the same expected backoff time for frames of the same TC that are transmitted under CSMA/AC or CSMA/SA.
CSMA/SA (Selective Adaptation) (2) • The WSTA freezes the backoff timers when it determines the channel to be busy. • For the purposes of counting down a backoff timers and determining the starting times for a transmission, the ESTA considers the channel to remain busy for an additional DIFS duration following a correctly received frame, or for an additional EIFS duration following an incorrectly received frame. The ESTA shall decrement each local backoff timer by one when it senses the channel to be idle in the current slot. • The WSTA transmits a frame at the beginning of the next slot from the active TC whose backoff timer reads zero. • If there are multiple active local TCs of expired backoff timers, the WSTA selects a frame from one of those TCs that is of the highest priority, with the backoff timers for all the active local TCs reset using the corresponding latest TCPP values.
CSMA/SA (Selective Adaptation) (3) • Backup contention access • If an active WSTA is located in an IBSS, or if it has not received TCPP values for 50 TUs from the HC, it performs its contention for a frame transmission using the TCPP values calculated on its own: • Any active local TC that has a non-zero backoff time value shall continue with the same backoff time value until it has a frame transmitted. • (b) A local TC of priority i that has just successfully sent a frame shall have a TCPP value equal to TCPPi, max, where TCPP0, max = 1/33, and TCPPj, max = 2/17, i = 1, 2, …7, if the channel is busy, and have a TCPP value equal to 2i-8 if the channel is idle. • (c) A local TC of priority i that has a retried frame to send following a collision shall change its TCPP value from TCPPi to max [TCPPi,min, 2 TCPPi / (4 – TCPPi)], where TCPPi, min = 2/1025, i = 0, 1, 2, …7. • Once the WSTA receives new TCPP values from the HC, it reverts to the HC-coordinated contention by adopting the new TCPP values for those active local TCs having a backoff timer of a zero reading.
TCPP Update and Load Control • Control Criterion • Channel is optimally loaded /utilized when time on idles = time on collisions. • Time on an idle = a slot time. • Time on a collision = longest transmission time of colliding stations + Ack transmission time + SIFS + DIFS. • Control Mechanism • HC decreases TCPPs if channel is overloaded and vice versa. • Contending ESTAs respond to a change in TCPPs. • Under CSMA with persistent contention and CSMA with adaptive backoff, the new TCPP values apply to all queued TCs (full adaptation). • Under CSMA with selective adaptation, the new TCPP values apply to queued TCs having a backoff timer of zero reading. • Full adaptation achieves over 30% throughput increase over non-adaptive schemes. • Control Procedure • Compute the normalized difference, D = (TI - TC ) / T, between the time on idles, TI, and the time on collisions, TC, over the time, T, allocated to contention in the CP since the last time when a TCPP update was broadcast. • When D D0 or when a beacon is to be sent, update TCPPs as follows: • TCPP0 TCPP0 + G D, and TCPPk = Ck TCPP7, k =1, 2, …, 7, where D0 and Ck are preset numbers, and G is positive. • Algorithm self-stabilizing: TCPPk , TC , D , TCPPk , and vice versa.
Fairness and Differentiation • Fairness • All TCs of equal priority transmit with the same TCPP • Anytime -- before or after collision • Anywhere -- at the same WSTA or at different WSTAs • Differentiation • Relative differentiation: Higher priority TCs contend with larger TCPPs • TC Access probability ~ TCPP • Lower priority TCs not starved • Absolute differentiation: Some TCs may be stayed from contention • TCPPs for stayed TCs set to 0 • Higher priority TCs not impacted by lower priority TCs • Minimum bandwidth guaranteed for selected TCs • Maximum bandwidth imposed on certain TCs • Collision avoidance enhanced • Collision resolution accelerated • Some stayed TCs served by contention-free access for better QoS support • Implementation • Fair, differentiable, and local contention all come together • No distorted fairness, no unstable differentiation, no local collision, no local backoff
Implementation Complexity • CSMA/AC (Adaptive Contention) • Single backoff timer per WSTA • No internal conflicts • CSMA/SA (Selective Adaptation) • Multiple backoff timers per WSTA • Internal conflicts
Access Delay/JitterVersus Backoff Time/Jitter • CSMA with Smaller Backoff Jitters • CSMA with Larger Backoff Jitters Collision involving frame 1 Transmission of another frame Collision involving frame 1 Transmission of another frame Collision of other frames Transmission of frame 1 only Channel busy Backoff Time Access Delay 1 Backoff Jitter Collision involving frame 2 Transmission of another frame Transmission of frame 2 only Channel busy Backoff Time Access Delay 2 Access Delay Jitter Delay Jitter > Backoff Jitter Collision involving frame 1 Transmission of frame 1 only Collision involving frame 1 Transmission of another frame Transmission of frame 1 only Channel busy Backoff Time Backoff Time Access Delay Access Delay 1 Backoff Jitter Transmission of frame 1 only Transmission of another frame Transmission of frame 2 only Channel busy Backoff Time Backoff Time Access Delay Access Delay 2 Access Delay Jitter Reducing collision Reducing access delay/jitter Delay Jitter < Backoff Jitter
Adaptive Contention Performance Improvement • More than 30% throughput improvement by adaptive contention over binary exponential backoff is reported in IEEE journals. • PP. 146-149 in F. Cali, et al., “Dynamic Tuning of the IEEE 802.11 Protocol to Achieve a Theoretical Throughput Limit,” IEEE INFOCOM’98. • P. 1783 in . F. Cali, et al., “IEEE 802.11 Protocol: Design and Performance Evaluation of an Adaptive Backoff Mechanism,” IEEE J. Select. Areas Commun., vol. 8, Setp. 2000. • Significant throughput, delay, and jitter improvement over binary exponential backoff is also observed in our own simulations. • Adaptive contention is robust to PP miscalculations. • Performance improvement becomes even more substantial in high population areas such as in enterprise environments. • Binary exponential backoff begins to fail as user population increases. • The HC may choose not to support adaptive contention and hence not to broadcast TCPP values. • Wireless ESTAs choose TCPPs on their own according to the backup rules. • Operation and performance are like legacy DCF with prioritized support.
Sample Simulation Results Smaller CWmin (higher priority) produced longer delays Operation “recovered” from congestion as frames exceeding retry counts were discarded
Binary Exponential Backoff Deficiencies The leftover backoff times of various TCs are inestimable to EAP/HC at the time of setting new CWmins Setting CWmins without knowing leftover backoff times causes new frames to collide with backoff frames Each collision costs much channel time, aggravates congestion state, and results in more collisions in the future Doubling CW for colliding TCs at low load unnecessarily delays frame transmission and decreases channel throughput Doubling CW for colliding TCs does not necessarily alleviate congestion state --collisions formed from past backoffs will still occur Doubling CW for colliding TCs over-penalizes the colliding TCs, even more so for those that had collided before … … … … … … … … … … Randomizing backoff times without drastically increasing CW at low load is adequate and improves delay and throughput performance CWmin update for new frame arrivals only Resetting CWmins cannot stop collisions developed in the past and bound to occur in the future Doubling CW for colliding TCs substantially downgrades the access priority for both retried and new frames of those TCs, compared to frames of TCs not undergoing collision resolution Contention-based and contention-free transmissions Doubling CW for co-locating, but non-colliding TCs further distorts fairness, differentiation, and contention scales
Adaptive versus Binary Exponential Backoff • Binary Exponential Backoff • Adaptive Backoff CWmin update for new frame arrivals only CWmin sete for new frame arrivals only Offered load increases with increasing population of contenders Collision increases, and hence throughput decreases, dramatically with increasing population of contenders … … … … … … … … … … TCPP update for all TCs CW reset for all TCs Offered load is controlled to remain below a maximum level regardless of the population of contenders Collision does not increase, and hence channel throughput does not decrease, with increasing population of contenders … … …
Concluding Remarks • Binary exponential backoff has been considerably criticized for its poor throughput and delay performance inside and outside 802. • Adaptive contention has been proposed and investigated by several experts: • L. Kleinrock, inventor of the Internet technology. • F. Tobagi, author of CSMA and its various variants. • R. Gallager, communications and networking authority. • Performance improvement from CSMA with adaptive contention has been shown to be significant in the IEEE literature. • Increasing bandwidth demand warrants such an improvement. • QoS is better supported by an efficient protocol. • Lessons have been learned from Ethernet and are worth learning. • CSMA/CD degrades rapidly in performance as node population increases. • CSMA without collision detection costs much more collision bandwidth, and hence performs even worse, than CSMA/CD. • Wireline Ethernet needs to become faster and faster. • Wireless LANs have scarce spectrum resources. • IC technology is much more advanced and affordable than 1970’s when Ethernet was first developed.
Sample References Books: 1. D. Bertsekas and R. Gallager, Data Networks, 2nd ed., Prentice Hall, NJ, 1992, Chapter 4. 2. A. S. Tanenbaum, Computer Networks, 3rd ed., Prentice Hall, NJ, 1996, Chapter 4. Papers: 1. L. Kleinrock and/or F. Tobagi's CSMA and CSMA/CD papers published between 1975-1985. 2. F. Cali, et al., “IEEE 802.11 Protocol: Design and Performance Evaluation of an Adaptive Backoff Mechanism,” IEEE J. Select. Areas Commun., vol. 8, Setp. 2000, pp. 1774-1786. 3. F. Cali, et al., “Dynamic Tuning of the IEEE 802.11 Protocol to Achieve a Theoretical Throughput Limit,” IEEE INFOCOM’98, pp. 142-149.