A General Algorithm for Interference Alignment and Cancellation in Wireless Networks Li (Erran) Li Bell Labs, Alcatel-Lucent Joint work with: Richard Alimi (Yale), Dawei Shen (MIT), Harish Viswanathan (Bell Labs), Richard Yang (Yale) 1 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 2 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( n) 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 3 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 2 for α in [2,3) and random placement n and Tse, IEEE Trans. Info. Theory’07] Optimal scaling requires cooperative transmission when node placements are “less regular” [Niesen, Gupta and Shah’08] [Ozgur, Leveque 4 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 5 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 Ri hij Sj A snapshot of a local neighborhood Y = HX+N; X: input, Y: output, N: noise 6 GIAC Problem Formulation (cont’d) How to enable simultaneous transmissions? Sender precoding Receiver interference cancellation Y H Φ1 X Φ2 X N Goal: H Φ2 where is a diagonal matrix Thus, yi=λixi+Ni 7 GIAC Problem Formulation (cont’d) Example: u1 has required channel state information u1 can trigger S1 and S2 to transmit simultaneously S1 u1 R1 S2 u2 R2 t=0 8 GIAC Problem Formulation (cont’d) Example: u1 has required channel state information u1 can trigger S1 and S2 to transmit simultaneously S1 u1 R1 S2 u2 R2 t=1 9 GIAC Problem Formulation (cont’d) Example: u1 has required channel state information u1 can trigger S1 and S2 to transmit simultaneously S1 u1 R1 S2 u2 R2 t=2 10 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 11 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 Ri Sj Rj 12 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 Ri Sj Rj 13 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 14 GIAC: Optimal Algorithm for a Special Case (cont’d) Example S4 S1 pkt1,pkt2, pkt3: R1 n1, n2, n3: 2 n3<|{pkt1, pkt2 , pkt3}| S2 S3 R2 |{pkt1 , pkt2}| = min{n1 , n2} 2 1 {pkt1, pkt2} Stop! R3 15 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. W [ ,, ] Max (W R) W [ρ, …, ρ] R R 16 GIAC Algorithm for One-Hop Opportunities (cont’d) Convex programming to compute feasibility K m in im ize f ([ w1 , w2 , , wk ]) wi i 1 s.t . K w i i 1 1 wi 0 | hii' |2 f ([ w1 , w2 , , wk ]) max wi B log2 (1 ) N i 1 i s.t. ' H H k Notation: H: channel matrix m: number of senders k: number of receivers Ф: coding coefficient matrix P: max power Ni: noise at receiver Ri i j , 1 i, j k : hij' 0 k 1 i m : | ij |2 P j 1 17 GIAC Algorithm for One-Hop Opportunities (cont’d) 1. 2. 3. Let PKT be the set of packets to be transmitted For each pkti, Let ni be the number of senders PKT} While |PKT|> min{ni | pkti 4. Let pkt be the one with minimal ni 5. PKT = PKT-{pkt} 6. done 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 Generalize the special case's optimal algorithm 18 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 | 19 GIAC Algorithm for One-Hop Opportunities (cont’d) Example S1 R1 R1 Max matching of pkt1 S1 |M1|=2 S2 S2 R2 R2 Receivers not interfered by pkt1: {R3} |L1|=1 S3 n1 = |M1|+ |L1|=3 R3 Similarly, n2= |M2|+ |L2|=1+2=3; n3= |M3|+ |L3|=2+1=3 20 GIAC Algorithm for One-Hop Opportunities (cont’d) Example 2 S3 S1 S2 R1 R2 Create pseudo senders S1 S2 R1 R2 S4 21 GIAC Implementation in GNU Radio Time synchronization Only need to synchronize within cyclic prefix Sampling rate 500KHz Drift within 0.75 Drift within 0.75 samples/s samples/sec ec 22 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 23 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] 24 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? 25 Q and A Questions? 26 MatrixNet Architecture MatrixNet Architecture Management Information Base Fairness Policy … Power Management Policy Routing/flow Information Base Routing Information Base MatrixNet Encoding/Decoding Concurrency Selection MatrixNet MAC Local Flows Local Channel Information Base Local Interference Graph MatrixNet Routing Coordination Vectors Overheard Queue Forwarding Queue MatrixNet Frame Queue Estimated Local Node-pair Channels 27 Routing Local Interference Graph Estimated local node-pair Channels (disseminate) Overheard packet cache Inferred local flows Concurrency Algorithm & Scheduler Pending packet queue Encoding & decoding vectors (disseminate) Coordinated transmission MatrixNet Architecture 28