Rate ¡Adapta)on ¡for ¡ Mul)user ¡MIMO ¡Networks Wei-‑Liang ¡Shen ¡ , ¡Yu-‑Chih ¡Tung ¡, ¡Kuang-‑Che ¡Lee, ¡ Kate ¡Lin ¡and ¡Ming-‑Syan ¡Chen ¡ Academia ¡Sinica, ¡Taiwan Shyamnath ¡Gollakota ¡ Dina ¡Katabi ¡ Univ. ¡of ¡Washington ¡ MIT
Mul)user ¡MIMO ¡Allows ¡Concurrent ¡Streams ¡ Alice ¡ David ¡ Bob ¡ Chris ¡ Clients ¡contend ¡for ¡concurrent ¡transmissions ¡ opportuniIes ¡ [K. ¡Tan,MOBICOM’09]
A ¡Client ¡Could ¡Transmit ¡Concurrently ¡ ¡ With ¡Different ¡Clients AP AP Chris Chris Alice Alice Bob Bob TradiIonal ¡historical-‑based ¡rate ¡adaptaIon ¡ doesn’t ¡work ¡ à à ¡Why?
Best ¡Rate ¡Changes ¡with ¡Concurrent ¡Client AP AP Chris Chris Alice Alice Bob Bob Chris’s ¡best-‑rate ¡depends ¡on ¡ • not ¡only ¡his ¡own ¡SNR ¡ Chris’s ¡best ¡rate ¡also ¡changes ¡packet ¡to ¡packet • but ¡also ¡Alice’s/Bob’s ¡channel ¡
Goal ¡ Enable ¡clients ¡to ¡adapt ¡their ¡rates ¡ ¡ on ¡a ¡per-‑packet ¡basis ¡ TurboRate
TurboRate ¡ • Allow ¡clients ¡to ¡adapt ¡their ¡best ¡rates ¡by ¡ 1. reacIng ¡to ¡interacIon ¡between ¡concurrent ¡clients ¡ 2. learning ¡their ¡rates ¡passively ¡without ¡coordinaIon ¡ • Implemented ¡and ¡shown ¡to ¡deliver ¡the ¡gain ¡of ¡ mulIuser ¡MIMO ¡(MU-‑MIMO) ¡
TurboRate ¡ • Allow ¡clients ¡to ¡adapt ¡their ¡best ¡rates ¡by ¡ 1. reacIng ¡to ¡interacIon ¡between ¡concurrent ¡clients ¡ 2. learning ¡their ¡rates ¡passively ¡without ¡coordinaIon ¡ ¡
How ¡Concurrent ¡Clients ¡Interact? ¡ How ¡Does ¡the ¡AP ¡Decode ¡Streams? ¡ ZF-‑SIC ¡ antenna ¡2 ¡ AP h c x c ¡ h a x a ¡ h a ¡ h c ¡ x c ¡ x a ¡ antenna ¡1 ¡ Chris Alice Bob Decode ¡Chris ¡by ¡Zero-‑Forcing ¡(ZF) ¡ • Project ¡orthogonal ¡to ¡Alice ¡ Decode ¡Alice ¡by ¡Successive ¡Interference ¡CancelaIon ¡(SIC) ¡ ¡ • Remove ¡Chris’s ¡interfering ¡signal ¡ Alice ¡can ¡only ¡be ¡decoded ¡if ¡Chris ¡is ¡decoded ¡correctly ¡
How ¡Concurrent ¡Clients ¡Interact? ¡ How ¡Does ¡the ¡AP ¡Decode ¡Streams? ¡ ZF-‑SIC ¡ antenna ¡2 ¡ AP h c x c ¡ h a x a ¡ θ ¡ h a ¡ h c ¡ x c ¡ x a ¡ antenna ¡1 ¡ Chris Alice Bob x' c ¡ ¡= ¡x c sinθ ¡ Decode ¡Chris ¡by ¡Zero-‑Forcing ¡(ZF) ¡ • Project ¡orthogonal ¡to ¡Alice ¡ Decode ¡Alice ¡by ¡Successive ¡Interference ¡CancelaIon ¡(SIC) ¡ ¡ • Remove ¡Chris’s ¡interfering ¡signal ¡ SNR ¡reducIon ¡a]er ¡projecIon ¡ à ¡SNR proj ¡= ¡SNR orig ¡* ¡sin 2 (θ) ¡
Concurrent ¡Client ¡Might ¡Change ¡ AP AP Chris Chris Alice Alice Bob Bob antenna ¡2 ¡ antenna ¡2 ¡ Chris ¡ Chris ¡ Bob ¡ Alice ¡ θ ¡ θ antenna ¡1 ¡ antenna ¡1 ¡ x' c ¡= ¡x c sinθ ¡ x' c ¡= ¡x c sinθ ¡
SNR proj ¡Changes ¡with ¡Concurrent ¡Client ¡ SNR proj ¡ ¡= ¡SNR orig ¡* ¡sin 2 (θ) ¡depends ¡on ¡ ¡ 1. ¡SNR orig ¡: ¡Could ¡be ¡constant ¡if ¡client ¡is ¡staIc ¡ 2. ¡Inter-‑client ¡angle ¡(θ) ¡: ¡Change ¡with ¡concurrent ¡clients ¡ Select ¡a ¡lower ¡bit-‑rate ¡ Select ¡a ¡higher ¡bit-‑rate ¡ antenna ¡2 ¡ antenna ¡2 ¡ Chris ¡ Chris ¡ Bob ¡ Alice ¡ θ ¡ θ antenna ¡1 ¡ antenna ¡1 ¡ x' c ¡= ¡x c sinθ ¡ x' c ¡= ¡x c sinθ ¡
Per-‑Packet ¡Bit-‑Rate ¡Selec)on ¡ • Map ¡SNR proj ¡ to ¡the ¡best ¡bit-‑rate ¡ – ESNR-‑based ¡rate ¡adaptaIon ¡ [D. ¡Halperin, ¡SIGCOMM’10] ¡ antenna ¡2 ¡ antenna ¡2 ¡ Chris ¡ Chris ¡ Bob ¡ Alice ¡ θ ¡ θ antenna ¡1 ¡ antenna ¡1 ¡ x' c ¡= ¡x c sinθ ¡ x' c ¡= ¡x c sinθ ¡
TurboRate ¡ • Allow ¡clients ¡to ¡adapt ¡their ¡best ¡rates ¡by ¡ 1. reacIng ¡to ¡interacIon ¡between ¡concurrent ¡clients ¡ 2. learning ¡their ¡rates ¡passively ¡without ¡coordinaIon ¡ – the ¡original ¡SNR ¡ – the ¡inter-‑client ¡angle ¡
1. ¡Each ¡Client ¡Learns ¡Its ¡SNR orig ¡ • Leverage ¡channel ¡reciprocity ¡ – Forward ¡channel ¡= ¡Reverse ¡channel ¡ • EsImate ¡the ¡uplink ¡channel ¡from ¡AP’s ¡beacons ¡ – Compute ¡the ¡direcIon ¡and ¡amplitude ¡(SNR orig ) ¡ AP antenna ¡2 ¡ h c ¡ h d h u ¡ ¡ Chris Alice antenna ¡1 ¡ Bob
2. ¡Learn ¡Inter-‑Client ¡Angle ¡( θ ) ¡ Say ¡Chris ¡wants ¡to ¡learn ¡the ¡angle ¡between ¡two ¡signals ¡ • Learn ¡his ¡own ¡channel ¡ à ¡by ¡reciprocity ¡ • Learn ¡the ¡direcIon ¡of ¡ongoing ¡streams ¡ à ¡broadcast ¡by ¡Alice ¡ SNR proj ¡can ¡be ¡predicted ¡by ¡SNR orig ¡and ¡inter-‑client ¡angle ¡ AP antenna ¡2 ¡ h c ¡ h a ¡ θ ¡ Chris Alice antenna ¡1 ¡ Bob
Doesn’t ¡Work ¡for ¡More ¡Than ¡2 ¡Antennas ¡ • Both ¡Bob ¡and ¡Chris ¡can ¡overhear ¡Alice’s ¡direcIon ¡ • Chris ¡cannot ¡decode ¡Bob ¡in ¡the ¡presence ¡of ¡Alice’s ¡signal ¡ ¡ AP Chris Alice Bob
How ¡to ¡Extend ¡to ¡More ¡Than ¡2 ¡Antennas ¡ Chris ¡ data ¡3 ¡ Bob ¡ dir ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡data ¡2 ¡ Alice ¡ dir ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡data ¡1 ¡ CSI ¡ t ¡ t null ¡ send ¡nulls ¡ contenIon ¡window ¡ ¡ & ¡preamble ¡ Ongoing ¡transmifers ¡ ¡ AP pause ¡their ¡streams ¡ ¡ when ¡later ¡contenIon ¡winners ¡ announce ¡the ¡direcIons ¡ Chris Alice Bob
TurboRate’s ¡MAC ¡ • Alice ¡wins ¡the ¡1st ¡contenIon ¡ – select ¡the ¡rate ¡based ¡on ¡SNR orig ¡ – broadcast ¡her ¡direcIon ¡and ¡pause ¡transmission ¡at ¡t null ¡ • Bob ¡wins ¡the ¡2nd ¡contenIon ¡ – select ¡the ¡rate ¡based ¡on ¡SNR proj ¡ – broadcast ¡his ¡direcIon ¡ • Chris ¡wins ¡the ¡3rd ¡contenIon ¡ – select ¡the ¡rate ¡based ¡on ¡SNR proj ¡ ¡ Chris ¡ data ¡3 ¡ Bob ¡ dir ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡data ¡2 ¡ Alice ¡ dir ¡ CSI ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡data ¡1 ¡ t ¡ send ¡nulls ¡ t null ¡
Performance
Implementa)on • Implemented ¡in ¡USRP-‑N200 ¡ • OFDM ¡with ¡802.11-‑style ¡modulaIons ¡and ¡ convoluIonal ¡codes
Testbed Randomly ¡pick ¡a ¡subset ¡of ¡locaIons ¡for ¡evaluaIons AP ¡
1) Is ¡SNR ¡esImaIon ¡accurate ¡enough? ¡ ¡ 2) What ¡is ¡the ¡gain ¡achieved ¡by ¡ TurboRate ? ¡ 3) Where ¡does ¡the ¡gain ¡come ¡from? ¡
1) Is ¡SNR ¡esImaIon ¡accurate ¡enough? ¡ ¡ 2) What ¡is ¡the ¡gain ¡achieved ¡by ¡ TurboRate ? ¡ 3) Where ¡does ¡the ¡gain ¡come ¡from? ¡
Accuracy ¡of ¡SNR ¡Es)ma)on ¡ Alice ¡ AP Bob ¡ θ ¡ Alice Bob SNR’ proj ¡ Compare ¡the ¡esImated ¡SNR’ proj ¡ with ¡the ¡actual ¡SNR proj ¡ ¡
Accuracy ¡of ¡SNR ¡Es)ma)on ¡ 30 ¡ SNR ¡aVer ¡projec)on ¡[dB] 25 ¡ 20 ¡ 15 ¡ 10 ¡ 5 ¡ 0 ¡ -‑5 ¡ -‑10 ¡ 0 ¡ 10 ¡ 20 ¡ 30 ¡ 40 ¡ 50 ¡ 60 ¡ 70 ¡ Loca)on ¡Index
Accuracy ¡of ¡SNR ¡Es)ma)on ¡ 30 ¡ SNR ¡aVer ¡projec)on ¡[dB] 25 ¡ 20 ¡ 15 ¡ 10 ¡ 5 ¡ 0 ¡ Actual ¡SNR ¡a]er ¡projecIon ¡ -‑5 ¡ EsImated ¡SNR ¡a]er ¡projecIon ¡ -‑10 ¡ 0 ¡ 10 ¡ 20 ¡ 30 ¡ 40 ¡ 50 ¡ 60 ¡ 70 ¡ Loca)on ¡Index
Accuracy ¡of ¡SNR ¡Es)ma)on ¡ 30 ¡ SNR ¡aVer ¡projec)on ¡[dB] 25 ¡ 20 ¡ 15 ¡ 10 ¡ 5 ¡ 0 ¡ Actual ¡SNR ¡a]er ¡projecIon ¡ -‑5 ¡ EsImated ¡SNR ¡a]er ¡projecIon ¡ -‑10 ¡ 0 ¡ 10 ¡ 20 ¡ 30 ¡ 40 ¡ 50 ¡ 60 ¡ 70 ¡ Loca)on ¡Index EsImated ¡SNR ¡closely ¡matches ¡the ¡actual ¡SNR
Recommend
More recommend