280 likes | 434 Views
Li (Erran) Li Bell Labs, Alcatel-Lucent Joint work with: Richard Alimi (Yale), Dawei Shen (MIT), Harish Viswanathan (Bell Labs), Richard Yang (Yale). A General Algorithm for Interference Alignment and Cancellation in Wireless Networks. Talk Outline. Wireless mesh network design
E N D
Li (Erran) Li Bell Labs, Alcatel-Lucent Joint work with: Richard Alimi (Yale), Dawei Shen (MIT), Harish Viswanathan (Bell Labs), Richard Yang (Yale) A General Algorithm for Interference Alignment and Cancellation in Wireless Networks
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( ) 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 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] 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 Y = HX+N; X: input, Y: output, N: noise Ri hij Sj A snapshot of a local neighborhood 6
GIAC Problem Formulation (cont’d) How to enable simultaneous transmissions? Receiver interference cancellation Sender pre-coding Goal: 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 R2 S2 u2 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 R2 S2 u2 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 R2 S2 u2 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 • Let PKT be the set of packets to be transmitted • For each pkti, Let ni be the number of senders • While |PKT|>min{ni | pkti PKT} • Let pkt be the one with minimal ni • PKT = PKT-{pkt} • done 14
GIAC: Optimal Algorithm for a Special Case (cont’d) Example pkt1,pkt2, pkt3: n1, n2, n3: 2 2 1 S4 S1 R1 n3<|{pkt1, pkt2 , pkt3}| {pkt1, pkt2} S2 |{pkt1 , pkt2}| = min{n1 , n2} R2 Stop! S3 R3 15
GIAC Algorithm for One-Hop Opportunities W • 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 16
GIAC Algorithm for One-Hop Opportunities (cont’d) • Convex programming to compute feasibility Notation: H: channel matrix m: number of senders k: number of receivers Ф: coding coefficient matrix P: max power Ni: noise at receiver Ri 17
GIAC Algorithm for One-Hop Opportunities (cont’d) Let PKT be the set of packets to be transmitted Create pseudo senders for any packet pkt a receiver has While NotFeasible(PKT, H, ρ) ni = maxNonIntR(PKT, H, i), i=1,2,…,|PKT| Let pkt be the one with minimal ni PKT = PKT-{pkt} done • Let PKT be the set of packets to be transmitted • For each pkti, Let ni be the number of senders • While |PKT|> min{ni | pkti PKT} • Let pkt be the one with minimal ni • PKT = PKT-{pkt} • 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 Max matching of pkt1 S2 R2 R1 |M1|=2 S1 S2 |L1|=1 Receivers not interfered by pkt1: {R3} R2 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 R1 S2 R2 S4 S1 R1 Create pseudo senders S2 R2 21
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 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
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 Thank you Questions? 26
MatrixNet Architecture Local Channel Information Base MatrixNet Architecture Local Interference Graph EstimatedLocal Node-pairChannels MatrixNetEncoding/Decoding MatrixNet Routing Concurrency Selection MatrixNet MAC Routing/flow Information Base RoutingInformationBase LocalFlows CoordinationVectors Forwarding Queue Overheard Queue MatrixNet Frame Queue Management Information Base FairnessPolicy Power ManagementPolicy …
Routing Local Interference Graph Encoding & decoding vectors (disseminate) Concurrency Algorithm & Scheduler Estimated local node-pair Channels (disseminate) Coordinated transmission Overheard packet cache Pending packet queue Inferred local flows MatrixNet Architecture