„Minstrel-Blues" Practical Joint Rate und Power Control in Linux mac80211 ! Thomas Hühn TU-Berlin Problem Wireless network capacity is bounded by interference Can we increase the efficiency of WiFi spectrum usage ? How to manage interference to increase spatial reuse ? Can we fulfill regulatory TPC requirements (802.11h) ? 2 2 WiFi Resource Allocation Link scheduling Rate control IEEE 802.11 @MAC layer cross-layer ? ! ! Carrier sense control Power control (TPC) @physical layer Status quo: todays APs use a static (max) power level to all STAs 3 Working parts of Minstrel-Blues • Linux mac80211 extension to enable power level annotations in sample packets and rate-power table ! ! • Design and implementation of ! decentralized joint power & rate control per packet: “Minstrel-Blues” • working with Minstrel & ath5k & ath9k • global Ack Power control • new mac80211 driver flags (TPC per packet, per mrr, ACK) ! 12 Throughput [MBit/s] Throughput [MBit/s] • Weight your interference preference with a utility function 10 8 6 4 2 0 0 300 600 Time [sec] 36 30 SNR [dB] ! 24 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 900 1200 12 ! ! ! ! ! ! 10 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 8 ! 6 ! ! 4 2 ! 0 ! ! 0 300 600 Time [sec] 900 1200 ! ! • Validation and Performance Analysis ! 18 12 6 Time [sec] 4 Throughput as Function (rate,power) sample power @max_tp[0..3] data reference power @max_tp[0..3] rate tx 5 er w po new rate-power-table tx path sk_buff Minstrel-Blues data sk_buff->cb 48-Byte statistics data reference •rate • rates[4] •retry •power • vif • hw_keys data sampling fill sk_buff->cb with ieee80211_tx_info->control sample update look-up mac80211 fail fail fail o data rx path d per neighbor tx ieee80211_ops.tx Rate-Power-Table pos 1 2 3 4 rate … power 24 12 6 6 13 9 1 1 ieee80211_sta_rates Beacons compose tx-control descriptor - ath5k - ath9k failed failed failed ok fill sk_buff->cb with ieee80211_tx_info->tx-status rx ack PCI/PCIe via dma access process rx-status descriptor SoftMAC drivers (ath5k) rx data Atheros WiFi chip tx hardware 802.11 a/g/n 6 Performance with 4 active indoor links 16-5 16. floor 16-1 link-2 source link-1 16-4 16-3 sink 16-2 17-4 17. floor link-4 17-3 link-3 17-1 17-2 7 Throughput with links:1, 2, 3, 4 activeactive links: 1234 ani Blues: off high Blues: off high Blues: on low Blues: off low Blues: on 60 50 40 tcp Throughput [MBit/s] 30 20 link 10 1 0 2 3 60 4 50 total 40 udp 30 20 10 0 0 40 80 120 160 0 40 80 120 160 0 40 80 120 160 0 40 80 120 160 0 40 80 120 160 0 40 80 120 160 Time [s] combined rel. MAC−states (bin=1s) of all 8 Nodes tcp CS−sensitivity:active ani MAC-states links: 1234 protocol: tcp CS−sensitivity: ani ani TCP 100% 50% 100 MAC states power level data reference TX−L3 dwell time [s] 0% 18 100% 15 1250% 9 6 0% 3 100% 0 75% TX−L2 2nd−best 18 15 0% 12 100% 9 6 50% 3 0 50 tx−busy 50% rx−busy idle others 25% TX−L4 high−pr 1850% 15 12 0% 9 100% 6 3 050% 0 0% 100% BLUES=ON TX−L1 1st−best 0 120 0 40 80 120 0 40 80 120 BLUES=ON BLUES=OFF 100% 18 1550% 12 9 0% 6 100% 3 0 rel. dwell time [%] TX link−4 BLUES=ON relative MAC−states tx−Power Level [dBm] TX link−4 BLUES=OFF combined MAC−states (bin=20s) of all 8 Nodesprotocol: active 1234 tx−power level used at each sender links: active rx−sensitivity: links: 1234 ani protocol: tcp CS−sensitivity: ani active links: 1234 BLUES=OFF UDP BLUES=OFF BLUES=ON 0 20 40 60 0% 100 40 120 60 140 80 160 1000 120201404016060 080 20 Time [s] 80 0 10020 12040 14060 16080 100 120 140 160 0 20 40 60 80 100 120 140 160 Time [s] 0 20 40 60 Time [s] 50% 0% 100% 8 50% 0% 0 20 40 60 80 100 120 140 160 0 Time [s] 20 40 60 80 100 120 140 160 80 TX RX TX RX TX RX TX RX 1−link 1−link 2−link 2−link 3−link 3−link 4−link 4−link k−3 =ON ani Blues: on MAC states tx−busy MAC states 100 120 140 160 rx−busy idle others tx−busy rx−busy idle others Joint Power and Rate Control Algorithm: MINSTREL-BLUES Are you egoistic or altruistic ? Table 5.1: Impact of different weighting factors w to the joint power and ra [MBits] Power [mW] Power [dBm] Benefit [%] Cost [%] w=1 w=2 6 6.0 1 1.3 39.2 20.3 19.0 29.1 9 8.8 1 1.3 57.5 13.8 43.7 50.6 12 11.7 1 1.3 76.5 10.4 66.12 71.32 18 15.3 12 15.9 100.0 100.0 0.0 50.0 24 4.7 19 79.4 30.7 1631.5 -1600.0 -758.0 - 36 2.1 19 79.4 13.7 3651.5 -3600.0 -1812.0 - 48 0.0 19 79.4 0.0 0.0 0.0 0.0 54 0.0 19 79.4 0.0 0.0 0.0 0.0 Data Rate 1 A joint Utility Thr.1 w Throughput: Minstrel periodically estimates the achievable throughput per data rate based on m probabilities. decision based on preference is implemented ! 2 Maximum utility at a given weighting factor w is shown in bold. my current work: ! ! •get everything in upstream shape !!! ! ! •Blues integration in Minstrel_HT ! ! ! ! •since 3 weeks took a detour: enhancing Minstrel_HT ! ! ! ! •my performance patches get sent in the next days •Full fledged Minstrel-Blues … this year 10 Thank You ! 11
© Copyright 2024 ExpyDoc