210 likes | 333 Views
VDCF Presentation. Greg Chesson, greg@atheros.com Wim Diepstraten, wdiepstraten@agere.com Maarten Hoeben, Maarten.Hoeben@intersil.com Aman Singla, aman@atheros.com Harold Teunissen, hteunissen@lucent.com Menzo Wentink, menzo.wentink@intersil.com. VDCF Overview.
E N D
VDCF Presentation Greg Chesson, greg@atheros.com Wim Diepstraten, wdiepstraten@agere.com Maarten Hoeben, Maarten.Hoeben@intersil.com Aman Singla, aman@atheros.com Harold Teunissen, hteunissen@lucent.com Menzo Wentink, menzo.wentink@intersil.com Greg Chesson et al, Atheros
VDCF Overview • VDCF is license-free, royalty-free (to be determined) • It is the belief of the proposers this is possible. • There is plentiful prior art. IP statements have been requested. • Enhancement to DCF • Same state machine as DCF • Minimal change to MAC (see document 01/131) • Compatible with DCF, PCF • Properties • Prioritized access to MAC services per Traffic Category (TC) • Controls relative bandwidth per TC • Controls relative latency and jitter per TC • Robust over light, medium, heavy loads • Simple • Simulation • Extensive validation results (see documents 01/008, 01/133) • Public software: contact authors Greg Chesson et al, Atheros
VDCF Origins • Differentiated Service by traffic category rather than individual flows originates with the IETF Diffserv WG: • http://www.ietf.org/html.charters/diffserv-charter.html • DQoS proposed by Jan Kruys at San Diego ad hoc meeting in September 2000, captured in later IEEE submissions: • Distributed QoS Model for 802.11 (00/267), by Jan Kruys and Harold Teunissen • Virtualized DCFaccess method: • EnhanceD-QoS through Virtual DCF (00/351), by Maarten Hoeben and Menzo Wentink • Baseline D-QoS Proposal (00/399),by Chesson, Diepstraten, Kitchin, Teunissen, Wentink • Differentiated Inter-Frame Space, Contention Window, Retry Policy • DFWMAC (93/190), by Diepstraten, Ennis, Belanger • Priority in CSMA/CA to support distributed Time-Bounded Services (94/058), by Wim Diepstraten • Distributed vs Centralized Control • Review of Distributed Time Bounded Services (94/121), by Tim Phipps Greg Chesson et al, Atheros
VDCF Components • Prioritized output queues (queue[i]) • Legacy DCF finite state machine per queue (queue[i]) • CWmin differentiated per TC (CWmin[i]), controllable by EAP • DIFS differentiated per TC (QIFS[i]), controllable by EAP • Queue state machines count backoff slots in parallel • Low-priority queues defer to higher-priority queues feedback Queue[i] DCF queue[i] CWmin[i] QIFS[i] PRI TRANSMIT Queue[k] DCF queue[k] CWmin[k] QIFS[k] Greg Chesson et al, Atheros
Two Controls • Contention Window (CW) • Lower-priority TCs select random backoff counters from CWs, on average receiving fewer TxOPS than higher-priority TCs picking from CWs. • Imposes bandwidth and access delay differentiation between TCs • Contention windows expand/contract • Local adaptation: binary exponential backoff in response to collision • Also controllable by EAP in Beacon • CWmin[i] in QoS Parameter Set Element updates aCWmin[i] • Inter-Frame Space (IFS) • Different IFS per TC: TxQIFS[i] = SIFS + aQIFS[i] x aSlotTime • Imposes bandwidth and latency differentiation between TCs • Controllable by EAP • QIFS[i] in QoS Parameter Set Element updates aQIFS[i] Greg Chesson et al, Atheros
Why two controls? • Both controls provide effective differentiation • CWmin • Affects TxOP probability, collision probability • average backoff delay • QIFS • Low-priority traffic defers to high-priority traffic • Slower backoff counting rate for lower-priority traffic • Complementary when used together • Use small values for QIFS: e.g. 0, 2, 5, 5 • Large QIFS values can exclude traffic • Use smaller range of CWmins; e.g. 15, 15, 31, 63; or 15, 31, 31, 31 • Achieve differentiation with better latency/jitter Greg Chesson et al, Atheros
Small Examples • Load(2,4) => 2 high-priority stations, 4 low-priority stations • Add a station every 3 seconds • Track bandwidth/latency for • DCF only • CWmin(15,31) and QIFS(0,0) • CWmin(15,15) and QIFS(0,1) • Load(4,2,10) => 2 high-priority (phone), 4 high-bw (video), 10 background stations • Add a station every 3 seconds: phone, video, background • Then remove a station every 3 seconds • Observe good performance over the entire load range using • CWmin(15,15,31) and QIFS(0,2,7) Greg Chesson et al, Atheros
Bandwidth Differentiation Equal TxOPs Similar Differentiation DCF CWmin(15,31) QIFS(0,0) CWmin(15,15) QIFS(0,1) Greg Chesson et al, Atheros
Latency Differentiation Hi-pri latency under 20ms High-priority latency plot (per-frame as load increases) Lo-pri latencies Above 50 ms Lower latency Variation with QIFS For guaranteed latency Use HCF 50 ms DCF CWmin(15,31) QIFS(0,0) CWmin(15,15) QIFS(0,1) Greg Chesson et al, Atheros
Robust under load changes 8 Mbit CBR (video) Remove Loads Background stations 3 Mbit CBR 4 100 Kbit CBR (phones) Greg Chesson et al, Atheros
Latency Differentiation Video latency 5 ms Phone latency Greg Chesson et al, Atheros
Glad you asked that Greg Chesson et al, Atheros
DCF State Machine Queue Empty? Yes No Ready Yes CCA >= DIFS? IDLE TRANSMIT No Retry Retry Limit? Fail Abort Success BC=0 BACKOFF Faithful rendering of Clause 9. Immediate access + post-backoff. See document 01/131 for greater detail. If (CCA>=DIFS) decrement BC Greg Chesson et al, Atheros
VDCF State Machine (for queue[i]) Queue[i] Empty? Yes No Ready CCA >= QIFS[i]? Yes PRI OK? Yes IDLE TRANSMIT No No Retry Retry Limit[i]? Fail Abort Success VDCF adds priority test replaces DIFS by QIFS[i], Selects CW from [0,aCWmin[i]]. BC[i]=0 BACKOFF If (CCA>=QIFS[i] & !Transmit decrement BC[i] Greg Chesson et al, Atheros
Simulations • Simulations based on Berkeley NS2 • Codes simulate full protocol stacks (ARP, UDP, TCP) • Expose protocol stack coupling through AP and other effects • See document 01/008 • Demonstrates that priority queues in AP deliver effective QoS in many cases using only legacy DCF • Shows some effects of different retry policies • Shows application of CWmin[i] • Shows effectiveness of PIFS access as it might be used by HCF in the presence of a heavy DCF overload • See document 01/133 • Catalog of scenarios with various CWmin[], QIFS[] settings • Incomplete exploration of full parameter space • Demonstrates utility of the controls • Provides starting point for determining default IBSS parameter settings Greg Chesson et al, Atheros
VDCF Design Choices • Distributed Stability Control vs Centralized • Robust: does not depend on EAP or reliable channel for stability • Distributed: self-adapting at station via binary exponential backoff • IBSS-ready: doesn’t need updates for stability • Uniform distribution vs Geometric • Better latency variance, delay jitter (see document 01/008) • No “mini-capture effect” (see 01/008) causing backoff amplification • Post-backoff/immediate access vs Pre-backoff • Lower latency under light load • Equivalent to Pre-backoff when backlogged queues • Same as legacy DCF • Use both QIFS[i] and CWmin[i] • Complementary mechanisms Greg Chesson et al, Atheros
VDCF Design Choices • QoS Parameter Setting vs fast adaptation • QoS Parameters • AP adjusts at STA Association time, or RSVP time • AP adjusts to observed load average – not time-critical • “slow” adaptation: unlikely to stimulate control oscillation • Fast Adaptation • Unacknowledged broadcast not well-suited for wireless media • System adaptation rate (sample+decide+broadcast+adopt) slower than rate of change of offered load in many cases: cause of oscillation, degradation. • Fast adaptation consumes bandwidth, TxOPs, MAC logic cycles • Independent queue[i] state • Fairness across TCs and stations • Backoff counts (BC[i]) retain age ordering (i.e. ensure forward progress) Greg Chesson et al, Atheros
Implementation Factors • Retain power-of-2 CWmin intervals • Simple arithmetic, no division/mod ops needed • Simple random number generation • Random number generation rate • Once per TxOP per queue • Must recognize QoS-DATA and (TBD) TCID tags • Otherwise no new frame exchange sequences • One new information element to process: QoS Parameter Set • Appears in Beacon and Probe Response • Adjusts CWmin[] and QIFS[] values • Sequence numbers • No change at sender, can assign sequence number at TxOP • Receive cache must include TC, i.e. triples instead of tuples. Greg Chesson et al, Atheros
Implementation Factors • New MIB variables: • aCWmin[0-7], aQIFS[0-7], aSSRC[0-7], aSLRC[0-7], aCWmax[0-7]. • State variables for each output queue: • Backoff Counter BC[i] • Short/long retry counters QSRC[i] and QLRC[i] • Contention window CW[i] • Virtual collisions • Priority test applied when BC[i] reaches zero • Losing queue[i] goes into backoff state • Backoff • Frame ordering is not preserved between TCs • All queues can be in backoff at the same time • A single counter (plus logic) can represent multiple backoff states Greg Chesson et al, Atheros
Summary • Simple • minimal control mechanism • Safe • builds on proven MAC • Differentiated Service • bandwidth differentiation • latency differentiation and mitigation • Robust • self-adaptive, but also controllable • differentiates over changing loads Greg Chesson et al, Atheros
Conclusion Simple is good Greg Chesson et al, Atheros