1 / 54

Practical Network Coding for the Internet and Wireless Networks

Practical Network Coding for the Internet and Wireless Networks. Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos Gkantsidis, and Baochun Li, et al. Globecom Tutorial, December 3, 2004. Outline. Practical Network Coding Packetization Buffering

arissa
Download Presentation

Practical Network Coding for the Internet and Wireless Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Practical Network Coding for the Internet and Wireless Networks Philip A. Chouwith thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos Gkantsidis, and Baochun Li, et al. Globecom Tutorial, December 3, 2004

  2. Outline • Practical Network Coding • Packetization • Buffering • Results for SprintLink ISP • Experimental comparisons to multicast routing • Internet and Wireless Network Applications • Live Broadcasting, File Downloading, Messaging, Interactive Communication

  3. Network Coding applicable to real networks? • Internet • IP Layer • Routers (e.g., ISP) • Application Layer • Infrastructure (e.g., CDN) • Ad hoc (e.g., P2P) • Wireless • Mobile ad hoc multihop wireless networks • Sensor networks • Stationary wireless (residential) mesh networks

  4. Theory vs. Practice • Theory: • Symbols flow synchronously throughout network; edges have integral capacities • Practice: • Information travels asynchronously in packets; packets subject to random delays and losses; edge capacities often unknown, varying as competing communication processes begin/end

  5. Theory vs. Practice (2) • Theory: • Some centralized knowledge of topologyto compute capacity or coding functions • Practice: • May be difficult to obtain centralized knowledge, or to arrange its reliable broadcast to nodes across the very communication network being established

  6. Theory vs. Practice (3) • Theory: • Can design encoding to withstand failures,but decoders must know failure pattern • Practice: • Difficult to communicate failure pattern reliablyto receivers

  7. Theory vs. Practice (4) • Theory: • Cyclic graphs present difficulties, e.g., capacity only in limit of large blocklength • Practice: • Cycles abound. If A →B then B→A.

  8. Need to address practical network coding in real networks • Packets subject to random loss and delay • Edges have variable capacities due to congestion and other cross traffic • Node & link failures, additions, & deletions are common (as in P2P, Ad hoc networks) • Cycles are everywhere • Broadcast capacity may be unknown • No centralized knowledge of graph topology or encoder/decoder functions • Simple technology, applicable in practice

  9. Approach • Packet Format • Removes need for centralized knowledge of graph topology and encoding/decoding functions • Buffer Model • Allows asynchronous packets arrivals & departures with arbitrarily varying rates, delay, loss [Chou, Wu, and Jain, Allerton 2003] [Ho, Koetter, Médard, Karger, and Effros, ISIT 2003]

  10. Standard Framework • Graph (V,E) having unit capacity edges • Sender s in V, set of receivers T={t,…} in V • Broadcast capacity h = mintMaxflow(s,t) • y(e) = ∑e’ be(e’) y(e’) • b(e) = [be(e’)]e’ is local encoding vector

  11. Global Encoding Vectors • By induction y(e) = ∑hi=1gi(e) xi • g(e) = [g1(e),…,gh(e)] is global encoding vector • Receiver t can recover x1,…,xh from

  12. Invertibility of Gt • Gt will be invertible with high probabilityif local encoding vectors are randomand field size is sufficiently large • If field size = 216 and |E| = 28then Gt will be invertible w.p. ≥ 1−2−8 = 0.996 [Ho et al., 2003] [Jaggi, Sanders, et al., 2003]

  13. Packetization • Internet: MTU size typically ≈ 1400+ bytes • y(e) = ∑e’ be(e’) y(e’) = ∑hi=1gi(e) xi s.t.

  14. Key Idea • Include within each packet on edge eg(e) = ∑e’ be(e’) g(e’); y(e) = ∑e’ be(e’) y(e’) • Can be accomplished by prefixing i th unit vector to i th source vector xi, i=1,…,h • Then global encoding vectors needed to invert the code at any receiver can be found in the received packets themselves!

  15. Cost vs. Benefit • Cost: • Overhead of transmitting h extra symbolsper packet; if h = 50 and field size = 28,then overhead ≈50/1400 ≈ 3% • Benefit: • Receivers can decode even if • Network topology & encoding functions unknown • Nodes & edges added & removed in ad hoc way • Packet loss, node & link failures w/ unknown locations • Local encoding vectors are time-varying & random

  16. Erasure Protection • Removals, failures, losses, poor random encoding may reduce capacity below h • Basic form of erasure protection:send redundant packets, e.g.,last h-k packets of x1,…, xh are known zero

  17. Priority Encoding Transmission (Albanese et al., IEEE Trans IT ’96) • More sophisticated form: partition data into layers of importance, vary redundancy by layer • Received rank k→ recover k layers • Exact capacity can be unknown

  18. Asynchronous Communication • In real networks, “unit capacity” edges grouped • Packets on real edges carried sequentially • Separate edges → separate prop & queuing delays • Number of packets per unit time on edge varies • Loss, congestion, competing traffic, rounding • Need to synchronize • All packets related to same source vectors x1,…, xh are in same generation; h is generation size • All packets in same generation tagged with same generation number; one byte (mod 256) sufficient

  19. Buffering edge Transmission opportunity: generate packet random combination arriving packets (jitter, loss, variable rate) edge edge buffer asynchronous reception asynchronous transmission edge node

  20. Decoding • Block decoding: • Collect h or more packets, hope to invert Gt • Earliest decoding (recommended): • Perform Gaussian elimination after each packet • At every node, detect & discard non-informative packets • Gt tends to be lower triangular, so can typically decode x1,…,xk with fewer more than k packets • Much lower decoding delay than block decoding • Approximately constant, independent of block length h

  21. Flushing Policy, Delay Spread,and Throughput loss • Policy: flush when first packet of next generation arrives on any edge • Simple, robust, but leads to some throughput loss

  22. Interleaving • Decomposes session into several concurrent interleaved sessions with lower sending rates • Does not decrease overall sending rate • Increases space between packets in each session; decreases relative delay spread

  23. Simulations • Implemented event-driven simulator in C++ • Six ISP graphs from Rocketfuel project (UW) • SprintLink: 89 nodes, 972 bidirectional edges • Edge capacities: scaled to 1 Gbps / “cost” • Edge latencies: speed of light x distance • Sender: Seattle; Receivers: 20 arbitrary (5 shown) • Broadcast capacity: 450 Mbps; Max 833 Mbps • Union of maxflows: 89 nodes, 207 edges • Send 20000 packets in each experiment, measure: • received rank, throughput, throughput loss, decoding delay vs.sendingRate(450), fieldSize(216), genSize(100), intLen(100)

  24. Received Rank

  25. Throughput

  26. Throughput Loss

  27. Decoding Delay

  28. Distributed Flow Algorithms • Work in progress…

  29. Comparing Network Codingto Multicast Routing • Throughput • Computational complexity • Resource cost (efficiency) • Robustness to link failure • Robustness to packet loss

  30. Multicast Routing • Standard multicast: union of shortest reverse paths • Widest multicast: maximum rate Steiner tree • Multiple multicast: Steiner tree packing sender receivers

  31. Complexity and Throughput of Optimal Steiner Tree Packing • Packing Steiner trees optimally is hard [e.g., JMS03] • Network Coding has small throughput advantage [LLJL04]: Z. Li, B. Li, D. Jiang, and L. C. Lau, On achieving optimal end-to-end throughput in data networks: theoretical and emprirical studies, ECE Tech. Rpt., U. Toronto, Feb. 2004, reprinted with permission.

  32. Complexity and Throughput of Optimal Steiner Tree Packing (2) • Z. Li, B. Li, D. Jiang, L. C. Lau ‘04: • Optimally packed Steiner trees in 1000 randomly generated networks (|E|<35) • Network Coding advantage = 1.0 in every network • “The fundamental benefit of network coding is not higher optimal throughput, but to facilitate significantly more efficient computation and implementation of strategies to achieve such optimal throughput.”

  33. Choose the edge with maximum capacity Reached nodes Non-reachednodes Complexity ofGreedy Tree Packing • Find widest (max rate) distribution tree in polynomial time [Prim]: • Grow tree edge by edge • Postprocess tree • Repeatedly pack widest distribution trees

  34. [Wu, Chou, and Jain, ISIT 2004]

  35. Comparison of Efficiency(#receivers * throughput / bandwidth cost) Network coding Widest tree Z. Li, B. Li, D. Jiang, and L. C. Lau, On achieving optimal end-to-end throughput in data networks: theoretical and emprirical studies, ECE Tech. Rpt., U. Toronto, Feb. 2004, reprinted with permission.

  36. Robustness to Link Failure • Ergodic link failure: packet loss • Non-ergodic link failure: G G-e • Compute throughput achievable by • Network Coding • Multicast capacity of G-e • Adaptive Tree Packing • Re-pack trees on G-e • Fixed Tree Packing • Keep trees packed on G • Delete subtrees downstream from e [Wu, Chou, and Jain, ISIT 2004]

  37. Robustness to Link Failures

  38. 5% loss 5% loss Robustness to Packet Loss • Ergodic link failure: • Routing requires link-level error control to achieve throughput 95% of sending rate • Network Coding obviates need for link-level error control • Outputs random linear combinations at intermediate nodes • Delays reconstruction until terminal nodes

  39. Comparing Network Codingto Multicast Routing • Throughput √ • Computational complexity √ • Resource cost (efficiency) √ • Robustness to link failure √ • Robustness to packet loss √ Manageability

  40. Network Coding for Internet and Wireless Applications File download wireless Interactive Communication (conferencing, gaming) Live broadcast Media on demand Download from peer Coded download Parallel download Instant Messaging Internet Infra-structure (CDN) AkamaiRBN Ad Hoc (P2P) ALM SplitStreamCoopNet Gnutella Kazaa Digital Fountain BitTorrent PeerNet Windows Messenger XboxLive

  41. Live Broadcast • State-of-the-art: Application Layer Multicast (ALM) trees with disjoint edges (e.g., CoopNet) • FEC/MDC striped across trees • Up/download bandwidths equalized a failed node

  42. Live Broadcast (2) • Network Coding [Jain, Lovász, and Chou, 2004] : • Does not propagate losses/failures beyond child • ALM/CoopNet average throughput: (1–ε)depth * sending rateNetwork Coding average throughput: (1–ε) * sending rate failed node affected nodes(maxflow: ht→ ht – 1) unaffected nodes(maxflow unchanged)

  43. File Download • State-of-the-Art: Parallel download (e.g., BitTorrent) • Selects parents at random • Reconciles working sets • Flash crowds stressful • Network Coding: • Does not need to reconcile working sets • Handles flash crowds similarly to live broadcast • Throughput download time • Seamlessly transitions from broadcast to download mode

  44. File Download (2) C. Gkantsidis and P. Rodriguez Rodruiguez, Network Coding for large scale content distribution, submitted to INFOCOM 2005, reprinted with permission.

  45. Instant Messaging • State-of-the-Art: Flooding (e.g., PeerNet) • Peer Name Resolution Protocol (distributed hash table) • Maintains group as graph with 3-7 neighbors per node • Messaging service: push down at source, pops up at receivers • How? Flooding • Adaptive, reliable • 3-7x over-use • Network Coding: • Improves network usage 3-7x (since all packets informative) • Scales naturally from short message to long flows

  46. Interactive Communication in mobile ad hoc wireless networks • State-of-the-Art: Route discovery and maintenance • Timeliness, reliability • Network Coding: • Is as distributed, robust, and adaptive as flooding • Each node becomes collector and beacon of information • Can also minimize energy

  47. a+b a+b b a a a a a b a a a a a b b Network Coding Minimizes Energy (per bit) a a,b Wu et al. (2003); Wu, Chou, Kung (2004) Lun, Médard, Ho, Koetter (2004) a a a,b a b b,a optimal multicasttransmissions per packet = 5 network codingtransmissions per packet = 4.5

  48. Network Coding in Residential Mesh Network (simulation)

More Related