Practical Network Coding for the Internet and Wireless Networks - PowerPoint PPT Presentation

1 / 54
About This Presentation
Title:

Practical Network Coding for the Internet and Wireless Networks

Description:

Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos Gkantsidis ... – PowerPoint PPT presentation

Number of Views:490
Avg rating:3.0/5.0
Slides: 55
Provided by: ResearchM
Category:

less

Transcript and Presenter's Notes

Title: Practical Network Coding for the Internet and Wireless Networks


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 Tt, in V
  • Broadcast capacity h mint Maxflow(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) ?hi1 gi(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) ?hi1 gi(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, i1,,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 protectionsend 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 transmission
asynchronous reception
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
(No Transcript)
25
Received Rank
26
Throughput
27
Throughput Loss
28
Decoding Delay
29
Distributed Flow Algorithms
  • Work in progress

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

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

32
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.
33
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 (Elt35)
  • 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.

34
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

35
Complexity ofGreedy Tree Packing (2)
  • Alternative method
  • Break into unit-capacity edges between nodes
  • Grow tree edge by edge
  • Based on Lovaszconstructive proofof Edmonds
    Theorem
  • Repeatedly pack distribution trees

36
Wu, Chou, and Jain, ISIT 2004
37
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.
38
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

39
Robustness to Link Failures
40
(No Transcript)
41
(No Transcript)
42
(No Transcript)
43
(No Transcript)
44
(No Transcript)
45
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

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

47
Network Coding for Internet and Wireless
Applications
File download
wireless
Interactive Communication
(conferencing, gaming)
Instant Messaging
Live broadcast
Media on demand
Download from peer
Coded download
Parallel download
Internet
AkamaiRBN
Infra-structure (CDN)
ALM
SplitStreamCoopNet
Digital Fountain
Gnutella Kazaa
BitTorrent
PeerNet
Windows Messenger
XboxLive
Ad Hoc (P2P)
48
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
49
Live Broadcast (2)
  • Network Coding Jain, Lovász, and Chou, 2004
  • Does not propagate losses/failures beyond child
  • ALM/CoopNet average throughput (1e)depth
    sending rateNetwork Coding average throughput
    (1e) sending rate

failed node
affected nodes(maxflow ht ? ht 1)
unaffected nodes(maxflow unchanged)
50
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

51
File Download (2)
Mean Max
LR Free 124.2 161
LR TFT 126.1 185
FEC Free 123.6 159
FEC TFT 127.1 182
NC Free 117.0 136
NC TFT 117.2 139
C. Gkantsidis and P. Rodriguez Rodruiguez,
Network Coding for large scale content
distribution, submitted to INFOCOM 2005,
reprinted with permission.
52
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

53
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

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

55
Network Coding in Residential Mesh Network
(simulation)
56
Physical Piggybacking
s
t
  • Information sent from t to s can be piggybacked
    on information sent from s to t
  • Network coding helps even with point-to-point
    interactive communication
  • throughput
  • energy per bit
  • delay

57
Network Coding in Residential Mesh Network
(multi-session)
58
Network Coding with Cross-Layer Optimization
Network Coding has gt 4x bits per Joule
59
Summary
  • Network Coding is Practical
  • Packetization
  • Buffering
  • Network Coding outperforms Routing on
  • Throughput
  • Computational complexity
  • Resource cost (efficiency)
  • Robustness to link failure
  • Robustness to packet loss
  • Network Coding can improve performance
  • in IP or wireless networks
  • in infrastructure-based or P2P networks
  • for live broadcast, file download, messaging,
    interactive communication applications
Write a Comment
User Comments (0)
About PowerShow.com