Title: Practical Network Coding for the Internet and Wireless Networks
1Practical 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
2Outline
- 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
3Network 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
4Theory 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
5Theory 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
6Theory vs. Practice (3)
- Theory
- Can design encoding to withstand failures,but
decoders must know failure pattern - Practice
- Difficult to communicate failure pattern
reliablyto receivers
7Theory 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.
8Need 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
9Approach
- 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
10Standard 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
11Global 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
12Invertibility 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
13Packetization
- Internet MTU size typically 1400 bytes
- y(e) ?e be(e) y(e) ?hi1 gi(e) xi s.t.
14Key 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!
15Cost 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
16Erasure 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
17Priority 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
18Asynchronous 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
19Buffering
edge
Transmission opportunity generate packet
random combination
arriving packets (jitter, loss, variable rate)
edge
edge
buffer
asynchronous transmission
asynchronous reception
edge
node
20Decoding
- 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
21Flushing 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
22Interleaving
- 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
23Simulations
- 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)
25Received Rank
26Throughput
27Throughput Loss
28Decoding Delay
29Distributed Flow Algorithms
30Comparing Network Codingto Multicast Routing
- Throughput
- Computational complexity
- Resource cost (efficiency)
- Robustness to link failure
- Robustness to packet loss
31Multicast Routing
sender
receivers
- Standard multicast union of shortest reverse
paths - Widest multicast maximum rate Steiner tree
- Multiple multicast Steiner tree packing
32Complexity 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.
33Complexity 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.
34Complexity 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
35Complexity 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
36Wu, Chou, and Jain, ISIT 2004
37Comparison 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.
38Robustness 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
39Robustness to Link Failures
40(No Transcript)
41(No Transcript)
42(No Transcript)
43(No Transcript)
44(No Transcript)
45Robustness 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
46Comparing Network Codingto Multicast Routing
- Throughput v
- Computational complexity v
- Resource cost (efficiency) v
- Robustness to link failure v
- Robustness to packet loss v
- Manageability
47Network 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)
48Live 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
49Live 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)
50File 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
51File 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.
52Instant 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
53Interactive 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
54Network 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)
55Network Coding in Residential Mesh Network
(simulation)
56Physical 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
57Network Coding in Residential Mesh Network
(multi-session)
58Network Coding with Cross-Layer Optimization
Network Coding has gt 4x bits per Joule
59Summary
- 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