1
A General Algorithm for Interference Alignment and
Cancellation in Wireless NetworksLi (Erran) Li
Bell Labs, Alcatel-Lucent
Joint work with: Richard Alimi (Yale), Dawei Shen (MIT), Harish Viswanathan (Bell Labs),
Richard Yang (Yale)
22
Talk Outline
Wireless mesh network design General interference alignment and cancellation (GIAC)
problem Design overview Problem formulation Computational complexity Algorithm
GNU radio testbed implementation Related work Conclusion and future work
33
Limitation of Conventional Mesh Network Design
Current mesh networks have limited capacity [dailywireless.org]
Increased popularity of video streaming and large downloads will only worsen congestion
Network-wide transport capacity does not scale [Gupta and Kumar 2001]
O( ) where n is the number of users Traditional design limitations:
Treats wireless transmission as a point-to-point link for unicast
Treats interference from other transmissions as noise
n
44
A New Paradigm for Mesh Network Design
Wireless networks propagate information rather than transporting packets Physical layer: interference cancellation, zero forcing,
interference alignment Network coding
Capacity scales better in this new paradigm for α in [2,3) and random placement [Ozgur, Leveque
and Tse, IEEE Trans. Info. Theory’07]
Optimal scaling requires cooperative transmission when node placements are “less regular” [Niesen, Gupta and Shah’08]
2n
55
GIAC Design Overview
Goal: increase concurrency through interference cancellation techniques
Design constraints and guidelines
Global cooperation not practical: cooperate locally
No explicit exchange of data packets for cooperation: exploit naturally occurring opportunities
Channel state information essential for any cooperative techniques: exchange only channel state information and necessary signaling messages
66
GIAC Problem Formulation
Objective: find the max number of simultaneous transmissions
Connectivity graph G=(V, E) Interference graph GI=(V, EI) A set of senders S V A set of receivers R V Receiver can be one or two hops away
from sender pkti is destined to Ri Each node u has a packet pool Lu which
records overheard packets Assume transmission rate is fixed at ρ Assume channel matrix H is known
Y = HX+N; X: input, Y: output, N: noise
A snapshot of a local neighborhood
Sj
Ri
hij
77
GIAC Problem Formulation (cont’d) How to enable simultaneous transmissions?
NXΦXΦHY 21
Goal: where is a diagonal matrix
Thus, yi=λixi+Ni
Sender pre-coding
Receiver interference cancellation
ΦH 2
88
GIAC Problem Formulation (cont’d)
Example: u1 has required channel state information u1 can trigger S1 and S2 to transmit simultaneously
S1
R1
S2R2
u1
u2
t=0
99
GIAC Problem Formulation (cont’d)
Example: u1 has required channel state information u1 can trigger S1 and S2 to transmit simultaneously
S1
R1
S2R2
u1
u2
t=1
1010
GIAC Problem Formulation (cont’d)
Example: u1 has required channel state information u1 can trigger S1 and S2 to transmit simultaneously
S1
R1
S2R2
u1
u2
t=2
1111
Talk Outline
Wireless mesh network design General interference alignment and cancellation (GIAC)
problem Design overview Problem formulation Computational complexity Algorithm
GNU radio testbed implementation Related work Conclusion and future work
1212
GIAC Complexity: Sender Side
Computational complexity matters because algorithm runs in fast path
The interference control problem is NP-hard Consider a special case where the packet pool at each
node is empty Reduction from max independent set
for each e=(vi, vj), create a gadget with sender Si, Sj, and receiver Ri, Rj where Si, Sj has pkti, pktj
Si
Sj
Ri
Rj
1313
GIAC Complexity: Receiver Side
The problem is NP-hard Reduction from clique: given G=(V,E), for each e=(vi,
vj), create a gadget with sender Si, Sj, and receiver Ri, Rj where Si, Sj has pkti, pktj and receiver Ri, Rj has pktj, pkti
Assume H has full rank (no channel alignments)Si
Sj
Ri
Rj
1414
GIAC: Optimal Algorithm for a Special Case
Assumptions No receiver-side cancellation Channel matrix H has full rank (ignore channel alignment cases) No power constraint
Key intuition: for each transmitted packet pkti, need an independent packet pkti to cancel its interference at each receiver
1. Let PKT be the set of packets to be transmitted
2. For each pkti, Let ni be the number of senders
3. While |PKT|>min{ni | pkti PKT}
4. Let pkt be the one with minimal ni
5. PKT = PKT-{pkt}
6. done
1515
GIAC: Optimal Algorithm for a Special Case (cont’d)
S1
S2
S4
R1
R2
S3 R3
pkt1,pkt2, pkt3:
n1, n2, n3: 2 2 1
Example
{pkt1, pkt2}
|{pkt1 , pkt2}| = min{n1 , n2} Stop!
n3<|{pkt1, pkt2 , pkt3}|
1616
GIAC Algorithm for One-Hop Opportunities
Feasibility problem: Given a set of packets and
power constraint at each sender, can they be transmitted at the same time at a given rate?
Yes, a feasible solution does not exist iff there exists W s.t. R)(WMax],,[W
R
[ρ, …, ρ]
W
R
1717
GIAC Algorithm for One-Hop Opportunities (cont’d)
Convex programming to compute feasibility
0
1
..
)],,,[( minimize
1
121
i
K
ii
K
iik
w
w
ts
wwwwf
k
jij
ij
k
i i
iiik
Pmi
hkjiji
HHts
NhBwwwwf
1
2
'
'
1
2'
221
|| :1
0 : ,1 ,
..
)||1(logmax)],,,[(
Notation:H: channel matrixm: number of sendersk: number of receiversФ: coding coefficient matrixP: max powerNi: noise at receiver Ri
1818
GIAC Algorithm for One-Hop Opportunities (cont’d)
1. Let PKT be the set of packets to be transmitted
2. Create pseudo senders for any packet pkt a receiver has
3. While NotFeasible(PKT, H, ρ)
4. ni = maxNonIntR(PKT, H, i), i=1,2,…,|PKT|
5. Let pkt be the one with minimal ni
6. PKT = PKT-{pkt}
7. done
1. Let PKT be the set of packets to be transmitted
2. For each pkti, Let ni be the number of senders
3. While |PKT|> min{ni | pkti PKT}
4. Let pkt be the one with minimal ni
5. PKT = PKT-{pkt}
6. done
Generalize the special case's optimal algorithm
1919
GIAC Algorithm for One-Hop Opportunities (cont’d)
Computing max non-interfering receivers of pkti : maxNonIntR(PKT, H, i) Find the maximum matching Mi between senders with pkti
and receivers in interference graph; Let Li be the set of receivers not interfered by pkti and not
in the matching maxNonIntR(PKT, H, i) = | Mi | + | Li |
2020
GIAC Algorithm for One-Hop Opportunities (cont’d)
Example
S1
R1
S2
S3
R2
R3
Receivers not interfered by pkt1: {R3}
Similarly, n2= |M2|+ |L2|=1+2=3; n3= |M3|+ |L3|=2+1=3
|M1|=2
|L1|=1
n1 = |M1|+ |L1|=3
S1 R1
S2 R2
Max matching of pkt1
2121
GIAC Algorithm for One-Hop Opportunities (cont’d)
Example 2
S1R1
S2 R2
Create pseudo senders
R1
R2
S1
S2
S3
S4
2222
GIAC Implementation in GNU Radio
Time synchronization Only need to synchronize within
cyclic prefix Sampling rate 500KHz
Drift within 0.75 samples/sec
Drift within 0.75 samples/sec
23
GIAC Implementation in GNU Radio: (cont’d)
Channel estimation and feedback Need amplitude and phase offset Stable phase offset estimate difficult in GNU radio
Current estimation error: 15~20Hz Feedback delay: software processing delay, hardware--
software latency
2424
Related Work
Practical interference cancellation techniques Networked MIMO [Samardzija et al, Bell Labs Project 2005~now] Physical/analog layer network coding [Zhang et al, MOBICOM’06,
Katti et al, SIGCOMM’07]
Interference alignment and cancellation [Gollakota, Perli, Katabi, SIGCOMM’09]
2525
Conclusion and Future Work
We have designed algorithms and protocols for opportunistic interference control
Ongoing and future work Implementation related
Channel phase shift estimation and feedback Other implementation platforms, e.g. Bell Labs networked MIMO
platform or MSR Sora? How to solve the problem when there are multiple
antennas? Information theory related
How much does dirty paper coding help? Can our interference control scheme achieve optimal capacity
scaling in networks with “less regular” node deployments?
2626
Q and A
Questions?
27
MatrixNet Architecture
MatrixNet Architecture
Local Interference
Graph
Local Channel Information Base
EstimatedLocal Node-pair
Channels
RoutingInformation
Base
Routing/flow Information Base
LocalFlows
FairnessPolicy
Management Information BasePower
ManagementPolicy
…
Forwarding Queue
Overheard Queue
MatrixNet Routing
MatrixNet MAC
Concurrency Selection
MatrixNetEncoding/Decoding
CoordinationVectors
MatrixNet Frame Queue
28
Estimated local node-pair Channels
(disseminate)
Local Interference
Graph
MatrixNet Architecture
Overheard packet cache
Concurrency Algorithm & Scheduler
Inferred local flows
Pending packet queue
Encoding & decoding vectors
(disseminate)
Coordinated transmission
Routing