combatting inter-cell interference in 802.11ac-based mu ...Β Β· ap1 ndp-a ndp overhear ap2 ndp-a ndp...
TRANSCRIPT
Combatting Inter-cell Interference in MU-MIMO Networks
Hang Yu, Oscar Bejarano and Lin Zhong
ECE Department, Rice University
1
Guiding principlesβ’ Spectrum is precious
β’ Hardware is getting cheaper and more efficient
2
0
200
400
600
800
1000
1200
2002 2004 2006 2008 2010 2012 2014
2x2 MIMO
SISO
Pow
erco
nsu
mp
tio
n (
mW
)
Mobile devices are embracing more antennas
3
1-2 antennas 1-2 antennas 1-4 antennas
How to best use client antennas?
4
MobiComβ11: beamforming to achieve power efficiency
5
This work: inter-cell interference
6
This work: inter-cell interference
7
Key insight: clients and APs can coordinately cancel inter-cell interference
8
Example of two cells
Client3
AP1
Client2
Client1
Client4
AP2
1 2 1 2
1 2 3
1
1 2
1
9
Cell 1 Cell 2
A single AP delivers two streams
Client3
AP1
Client2
Client1
Client4
AP2
1 2 1 2
1 2 3
1
1 2
1
10
Cell 1 Cell 2
Coordinated interference cancellation delivers three streams
Client3
AP1
Client2
Client1
Client4
AP2
1 2 1 2
1 2 3
1
1 2
1
11
Coordinated interference cancellation delivers three streams
Client3
AP1
Client2
Client1
Client4
AP2
1 2 1 2
1 2 3
1
1 2
1
12
Coordinated interference cancellation delivers three streams
Client3
AP1
Client2
Client1
Client4
AP2
1 2 1 2
1 2 3
1
1 2
1
13
Coordinated interference cancellation delivers three streams
Client3
AP1
Client2
Client1
Client4
AP2
1 2 1 2
1 2 3
1
1 2
1
14
How to achieve coordinated interference cancellation with low overhead?
15
Why is it hard?
β’ Coordination can be expensive
β’ Optimizing beamforming weights requires full channel knowledge
16
Key idea: two-step optimization
17
Transmitting/receiving data streams
Cancelling inter-cell interference
or
18
Antenna usage optimization:To communicate data or cancel interference?
Optimized antenna usage
Transmitting Cancelling
19
Client3
AP1
Client2
Client1
Client4
AP2
1 2 1 2
1 2 3
1
1 2
1
Algorithm recursively applies to arbitrary MU-MIMO networks
20
Key property:
Only # of antennas required to optimize the antenna usage
21
π° , = ?
22
Beamforming weight optimization
Key property:
Partial channel knowledge required to optimize the beamforming weights
23
Overview of CoaCa
β’ Coordinated optimization of AP and Client antennas
β’ Interleave 802.11ac channel sounding to achieve coordinated interference cancellation
24
Channel sounding in 802.11ac
Client1
Client2
AP
25
AP sends NDP-A
Client1
Client2
NDP-AAP
26
AP sends NDP
Client1
Client2
NDP-AAP NDP
27
Client1 reports its channel
Client1
Client2
NDP-AAP NDP
BF-R
π1β1
28
AP polls Client2
Client1
Client2
NDP-AAP NDP
BF-R
BF-Pπ1β1
29
Client2 reports its channel
Client1
Client2
NDP-AAP NDP
BF-R
BF-P
BF-R
π1β1 π1β2
30
AP transmits to both clients
Client1
Client2
NDP-AAP NDP
BF-R
BF-P
BF-R
DATAπ1β1 π1β2
31
Example of two cells
32
Client3
AP1
Client2
Client1
Client4
AP2
1 2 1 2
1 2 3
1
1 2
1
Timeline of CoaCa
Client1
Client3
Client4
AP1
AP2
33
AP1 sends NDP-A
Client1
Client3
Client4
NDP-AAP1
AP2
34
AP1 sends NDP-A
Client1
Client3
Client4
NDP-AAP1
AP2
35
# of ant
# of ant
# of ant
# of ant
AP1 sends NDP
Client1
Client3
Client4
NDP-AAP1 NDP
AP2
36
# of ant
# of ant
# of ant
# of ant
Clients estimate channels from AP1
Client1
Client3
Client4
NDP-AAP1 NDP
AP2
π1β1
π1β3
π‘1β4
37
# of ant
# of ant
# of ant
# of ant
AP2 sounds the channel
Client1
Client3
Client4
NDP-AAP1 NDP
AP2 NDP-A NDP
π1β1
π1β3
π‘1β4
π2β1
π2β3
π‘2β4
38
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
AP2 sounds the channel
Client1
Client3
Client4
NDP-AAP1 NDP
AP2 NDP-A NDP
π1β1
π1β3
π‘1β4
π2β1
π2β3
π‘2β4
39
Antenna usage optimization
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
AP1 polls Client1
Client1
Client3
Client4
NDP-AAP1 NDP
AP2 NDP-A NDP
π1β1
π1β3
π‘1β4
π2β1
π2β3
π‘2β4
BF-P
Compute π―1
40
Antenna usage optimization
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
Client1 reports its channel vector
Client1
Client3
Client4
NDP-AAP1 NDP
AP2 NDP-A NDP
BF-Rπ1β1
π1β3
π‘1β4
π2β1
π2β3
π‘2β4
π1β1π―1BF-P
Compute π―1
41
Antenna usage optimization
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
AP2 polls Client4
Client1
Client3
Client4
NDP-AAP1 NDP
AP2 NDP-A NDP
BF-R
BF-P
π1β1
π1β3
π‘1β4
π2β1
π2β3
π‘2β4
π1β1π―1BF-P
Compute π―1
42
Antenna usage optimization
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
Client4 reports to both APs
Client1
Client3
Client4
NDP-AAP1 NDP
AP2 NDP-A NDP
BF-R
BF-P
BF-R
π1β1
π1β3
π‘1β4
π2β1
π2β3
π‘2β4
π1β1π―1BF-P
Compute π―1
π‘2β4
π‘1β4
43
Antenna usage optimization
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
Client3 overhears Client4
Client1
Client3
Client4
NDP-AAP1 NDP
Overhear
AP2 NDP-A NDP
BF-R
BF-P
BF-R
π1β1
π1β3
π‘1β4
π2β1
π2β3
π‘2β4
π1β1π―1BF-P
Compute π―1
π‘1β4
π‘2β4
π‘1β4
44
Antenna usage optimization
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
Beamforming weight of Client3
AP1
1 2
AP2
1 2
Client1
1 2 3
Client2
1
Client3
1 2 Client4
1
π―3 = π‘1β4β₯ π1β3
β₯
π1β3
π‘1β4
45
Channel alignment by Client3
AP1
1 2
Client3
1 2 Client4
1
π―3 = π‘1β4β₯ π1β3
β₯
π1β3
π‘1β4
46
Channel alignment by Client3
AP1
1 2
Client3
1 2 Client4
1
π―3 = π‘1β4β₯ π1β3
β₯
π‘1β4π1β3
π‘1β4
47
Channel alignment by Client3
AP1
1 2
Client3
1 2 Client4
1
π―3 = π‘1β4β₯ π1β3
β₯
π‘1β4
π°1
π1β3
π‘1β4
48
Channel alignment by Client3
AP1
1 2
Client3
1 2 Client4
1
π―3 = π‘1β4β₯ π1β3
β₯
π°1
π1β3(1) π1β3(2)π1β3
π‘1β4π1β3π―3
49
AP2 polls Client3
Client1
Client3
Client4
NDP-AAP1 NDP
Overhear
AP2 NDP-A NDP
BF-R
BF-P
BF-R
π1β1
π1β3
π‘1β4
π2β1
π2β3
π‘2β4
π1β1π―1
Compute π―3
BF-P
BF-P
Compute π―1
π‘1β4
π‘2β4
π‘1β4
50
Antenna usage optimization
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
Client3 reports its channel vector
Client1
Client3
Client4
NDP-AAP1 NDP
Overhear
AP2 NDP-A NDP
BF-R
BF-P
BF-R
BF-R
π1β1
π1β3
π‘1β4
π2β1
π2β3
π‘2β4
π1β1π―1
π2β3π―3
Compute π―3
BF-P
BF-P
Compute π―1
π‘1β4
π‘2β4
π‘1β4
51
Antenna usage optimization
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
Client3 reports its channel vector
Client1
Client3
Client4
NDP-AAP1 NDP
Overhear
AP2 NDP-A NDP
BF-R
BF-P
BF-R
π1β1
π1β3
π‘1β4
π2β1
π2β3
π‘2β4
π1β1π―1
Compute π―3
BF-P
BF-P
Compute π―1
π‘1β4
π‘2β4
π‘1β4
52
BF-R
π2β3π―3
Beamforming weight optimizationAntenna usage optimization
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
Both APs transmit simultaneously
Client1
Client3
Client4
NDP-AAP1 NDP
Overhear
AP2 NDP-A NDP
BF-R
BF-P
BF-R
DATA
DATA
π1β1
π1β3
π‘1β4
π2β1
π2β3
π‘2β4
π1β1π―1
Compute π―3
BF-P
BF-P
Compute π―1
π‘1β4
π‘2β4
π‘1β4
53
Beamforming weight optimizationAntenna usage optimization
BF-R
π2β3π―3
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
No additional frames
Client1
Client3
Client4
NDP-AAP1 NDP
Overhear
AP2 NDP-A NDP
BF-R
BF-P
BF-R
DATA
DATA
π1β1
π1β3
π‘1β4
π2β1
π2β3
π‘2β4
π1β1π―1
Compute π―3
BF-P
BF-P
Compute π―1
π‘1β4
π‘2β4
π‘1β4
54
Beamforming weight optimizationAntenna usage optimization
BF-R
π2β3π―3
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
Will APs/clients acquire enough channel knowledge?
55
56
Theorem 1:
At most, a AP needs:
channel knowledge from its served clients, or
clients it interferes with and holds the cancellation responsibility
57
Theorem 1:
At most, a AP needs:
channel knowledge from its served clients,
clients it interferes with and holds the cancellation responsibility
58
Theorem 1:
At most, a AP needs:
channel knowledge from its served clients,
or clients it interferes with and holds the cancellation responsibility
Clients report necessary channels
Client1
Client3
Client4
NDP-AAP1 NDP
Overhear
AP2 NDP-A NDP
BF-R
BF-P
BF-R
DATA
DATA
π1β1
π1β3
π‘1β4
π2β1
π2β3
π‘2β4
π1β1π―1
Compute π―3
BF-P
BF-P
Compute π―1
π‘1β4
π‘2β4
π‘1β4
59
BF-R
π2β3π―3
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
Theorem 2:
At most, a client needs:
channel knowledge from clients in the same cell;
if ordered properly, channel knowledge from previous clients.
60
Theorem 2:
At most, a client needs:
channel knowledge from clients in the same cell;
if ordered properly, channel knowledge from previous clients.
61
Theorem 2:
At most, a client needs:
channel knowledge from clients in the same cell;
if ordered properly, channel knowledge from previous clients.
62
Clients report in the optimal order
Client1
Client3
Client4
NDP-AAP1 NDP
Overhear
AP2 NDP-A NDP
BF-R
BF-P
BF-R
BF-R
DATA
DATA
π1β1
π1β3
π‘1β4
π2β1
π2β3
π‘2β4
π1β1π―1
π2β3π―3
Compute π―3
BF-P
BF-P
Compute π―1
π‘1β4
π‘2β4
π‘1β4
63
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
Will CoaCa APs/clients interoperate with unmodified 802.11ac clients?
64
Clients passively report channels
65
Client1
Client3
Client4
NDP-AAP1 NDP
Overhear
AP2 NDP-A NDP
BF-R
BF-P
BF-R
BF-R
DATA
DATA
π1β1
π1β3
π‘1β4
π2β1
π2β3
π‘2β4
π1β1π―1
π2β3π―3
Compute π―3
BF-P
BF-P
Compute π―1
π‘1β4
π‘2β4
π‘1β4
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
Clients do not collide with APs
66
Client1
Client3
Client4
NDP-AAP1 NDP
Overhear
AP2 NDP-A NDP
BF-R
BF-P
BF-R
BF-R
DATA
DATA
π1β1
π1β3
π‘1β4
π2β1
π2β3
π‘2β4
π1β1π―1
π2β3π―3
Compute π―3
BF-P
BF-P
Compute π―1
π‘1β4
π‘2β4
π‘1β4
Fake client ID
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
Correctness of the two-step optimization
Client1
Client3
Client4
NDP-AAP1 NDP
Overhear
AP2 NDP-A NDP
BF-R
BF-P
BF-R
DATA
DATA
π1β1
π1β3
π‘1β4
π2β1
π2β3
π‘2β4
π1β1π―1
Compute π―3
BF-P
BF-P
Compute π―1
π‘1β4
π‘2β4
π‘1β4
67
Beamforming weight optimizationAntenna usage optimization
BF-R
π2β3π―3
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
Interoperability with unmodified 802.11ac clients
Client1
Client3
Client4
NDP-AAP1 NDP
Overhear
AP2 NDP-A NDP
BF-R
BF-P
BF-R
DATA
DATA
π1β1
π1β3
π‘1β4
π2β1
π2β3
π‘2β4
π1β1π―1
Compute π―3
BF-P
BF-P
Compute π―1
π‘1β4
π‘2β4
π‘1β4
68
Beamforming weight optimizationAntenna usage optimization
BF-R
π2β3π―3
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
# of ant
Implementation
β’ WARP V3 platformβ’ Up to four antennas on each AP/client
β’ Layered prototyping: FPGA/C/MATLAB
β’ WARPLab framework with modificationsβ’ Standard MIMO processing in FPGA
β’ Two-step optimization in MATLAB
69
Experimental setup
β’ Single interference domain
β’ MU-MIMO network with two cells
β’ Four cases with different node and antenna configurations
β’ 20 repeated experiments for each case
β’ CoaCa compared with 802.11ac
70
AP1 AP2
71
Case 1: two streams for CoaCa (no gain)
AP1
Client1
AP2
Client2
Client3
Client4
Cell 1 Cell 2
72
Case 1: CoaCa achieves similar capacity
0
5
10
15
20
25
0 5 10 15 20 25
Cap
acit
y b
y 1
1ac
(b
its/
s/H
z)
Capacity by CoaCa (bits/s/Hz)
Measured
Expected
73
Case 2: three streams for CoaCa (50% gain)
AP1
Client1
AP2
Client2
Client3
Client4
Cell 1 Cell 2
74
Case 2: CoaCa improves capacity by 40%
0
7
14
21
28
35
0 7 14 21 28 35
Cap
acit
y b
y 1
1ac
(bit
s/s/
Hz)
Capacity by CoaCa (bits/s/Hz)
Measured
No gain
Expected
75
76
Max # of streams β max capacity
77
Trivial gain for larger-scale networks
Related works
β’ Inter-cell interference in 802.11 networksβ’ K. C. Lin, S. Gollakota, and D. Katabi. βRandom Access
Heterogeneous MIMO networksβ. In Proc. ACM SIGCOMM, 2011.
β’ Network-MIMOβ’ H. Rahul, S. Kumar, and D. Katabi. βJMB: Scaling Wireless
Capacity with User Demandsβ. In Proc. ACM SIGCOMM, 2012.β’ H. V. Balan, R. Rogalin, A. Michaloliakos, and K. Psounis.
βAchieving High Data Rates in a Distributed MIMO Systemβ. In Proc. ACM MobiCom, 2012.
β’ X. Zhang, K. Sundaresan, M. A. Khojastepour, S. Rangarajan, and K. G. Shin. βNEMOx: Scalable Network MIMO for Wireless Networksβ. In Proc. ACM MobiCom, 2013.
78
CoaCa: practical solution to combat inter-cell interference in
802.11ac-based MU-MIMO networks
79