41
Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, and Pablo Rodruiguez Microsoft Research Banff International Research Station July 23-28, 2005

Network Coding for the Internet - BIRS - Welcome to Electrical

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Network Coding for the Internet - BIRS - Welcome to Electrical

Network Coding for the Internet and Wireless Networks

Philip A. Chouwith thanks to Yunnan Wu, Kamal Jain, and Pablo Rodruiguez

Microsoft Research

Banff International Research StationJuly 23-28, 2005

Page 2: Network Coding for the Internet - BIRS - Welcome to Electrical

Outline

Introduction to Network CodingPractical Network Coding

Packet formatBuffering

Internet and Wireless ApplicationsLive Broadcasting, File Downloading, Messaging, Interactive Communication

Page 3: Network Coding for the Internet - BIRS - Welcome to Electrical

Network Coding Introduction

Directed graph with edge capacitiesSender s, set of receivers TAsk: Maximum rate to multicast info from s to T ?

(the “multicast capacity” from s to T)

sender s

receiver t in T

Page 4: Network Coding for the Internet - BIRS - Welcome to Electrical

Maximum Flow

Menger (1927) – single receiverMaxflow(s,t) ≤ Mincut(s,t) ≡ ht achievable

Edmonds (1972) – all nodes are receiversMaxflow(s,T) ≤ mint ht ≡ h achievable

sender s

receiver t in T

Page 5: Network Coding for the Internet - BIRS - Welcome to Electrical

Network Coding Maximizes Throughput

Alswede, Cai, Li, Yeung (2000)NC always achieves h = mint ht

Li, Yeung, Cai (2003)Koetter and Médard (2003)Jaggi, Sanders, et al. (2005)

sender

receiver

optimal uncoded multicast throughput = 1.5

network codingthroughput = 2

coding node

a,ba

a

a

a

bb

b

b

a+b a+b

a+b

,a

,b

Page 6: Network Coding for the Internet - BIRS - Welcome to Electrical

b

b

a+b

a+b

a

a

b

b

b

a

a

a

Network Coding Minimizes Delay

Jain and Chou (2004)

optimal uncoded multicastdelay = 3

network codingdelay = 2

Page 7: Network Coding for the Internet - BIRS - Welcome to Electrical

a+b a+bba

ba

a

a

b

b

a

aa

a

a a

Network Coding Minimizes Energy (per bit)

Wu et al. (2003); Wu, Chou, Kung (2004)Lun, Médard, Ho, Koetter (2004)

optimal uncoded multicastenergy per bit = 5

network codingenergy per bit = 4.5

a

a a,b

a a ba,b b,a

Page 8: Network Coding for the Internet - BIRS - Welcome to Electrical

Network Coding applicable to real networks?

InternetIP Layer

Routers (e.g., ISP)Application Layer

Infrastructure (e.g., CDN)Ad hoc (e.g., P2P)

WirelessMobile multihop ad hoc wireless networksSensor networksStationary wireless (residential) mesh networks

Page 9: Network Coding for the Internet - BIRS - Welcome to Electrical

Theory vs. PracticeTheory:

Symbols flow synchronously throughout networkEdges have unit (or known integer) capacitiesCentralized knowledge of topology assumedto compute encoding and decoding functions

Practice:Information travels asynchronously in packetsPackets subject to random delays and lossesEdge capacities often unknown, time-varyingDifficult to obtain centralized knowledge,or to arrange reliable broadcast of functionsNeed simple technology, applicable in practice

Page 10: Network Coding for the Internet - BIRS - Welcome to Electrical

ApproachPacket Format

Removes need for centralized knowledge of graph topology and encoding/decoding functions

Buffer ModelAllows 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]

Page 11: Network Coding for the Internet - BIRS - Welcome to Electrical

Algebraic FormulationGraph (V,E) having unit capacity edgesSender s in V, set of receivers T={t,…} in VMulticast capacity h = mint Mincut(s,t)

y(e) = ∑e’ βe(e’) y(e’)β(e) = [βe(e’)]e’ is local encoding vector

Page 12: Network Coding for the Internet - BIRS - Welcome to Electrical

Global Encoding Vectors

By induction y(e) = ∑hi=1 gi(e) xi

g(e) = [g1(e),…,gh(e)] is global encoding vectorReceiver t can recover x1,…,xh from

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

h

t

hhhh

h

h x

xG

x

x

egeg

egeg

ey

eyMM

L

MOM

L

M11

1

1111

)()(

)()(

)(

)(

Page 13: Network Coding for the Internet - BIRS - Welcome to Electrical

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| = 28

then Gt will be invertible w.p. ≥ 1−2−8 = 0.996

[Ho et al., 2003][Jaggi, Sanders, et al., 2003]

Page 14: Network Coding for the Internet - BIRS - Welcome to Electrical

Packetization

Internet: MTU size typically ≈ 1400+ bytesy(e) = ∑e’ βe(e’) y(e’) = ∑h

i=1 gi(e) xi s.t.

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

Nhhh

N

t

hNhh

N

h xxx

xxxG

eyeyey

eyeyey

e

e

,2,1,

,12,11,1

21

112111

)()()(

)()()(

)(

)(

L

MMM

L

L

MMM

L

M

y

y

Page 15: Network Coding for the Internet - BIRS - Welcome to Electrical

Packet FormatInclude within each packet on edge eg(e) = ∑e’ βe(e’) g(e’); y(e) = ∑e’ βe(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!

⎥⎥⎥

⎢⎢⎢

⎡=⎥⎥⎥

⎢⎢⎢

Nhhhh

N

t

hNhhhhh

Nh

xxx

xxxG

eyeyeyegeg

eyeyeyegeg

,2,,

,12,11,1

211

11211111

10

01

)()()()()(

)()()()()(

L

MMMO

L

LL

MMMMOM

LL

Page 16: Network Coding for the Internet - BIRS - Welcome to Electrical

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 unknownNodes & edges added & removed in ad hoc wayPacket loss, node & link failures w/ unknown locationsLocal encoding vectors are time-varying & random

Page 17: Network Coding for the Internet - BIRS - Welcome to Electrical

Asynchronous CommunicationIn real networks

Packets on “unit capacity” edges between each pair of nodes are grouped and carried sequentiallySeparate edges → separate prop & queuing delaysNumber of packets per unit time on edge varies

Loss, congestion, competing traffic, rounding

Need to synchronizeAll packets related to same source vectors x1,…, xhare in same generation; h is generation sizeAll packets in same generation tagged with same generation number; one byte (mod 256) sufficient

Page 18: Network Coding for the Internet - BIRS - Welcome to Electrical

Buffering

random combination

Transmission opportunity: generate packet

buffer

node

arriving packets (jitter, loss, variable rate)

asynchronous transmission

asynchronous reception

edge

edgeedge

edge

Page 19: Network Coding for the Internet - BIRS - Welcome to Electrical

DecodingBlock 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 packetsMuch lower decoding delay than block decoding

Approximately constant, independent of block length h

Page 20: Network Coding for the Internet - BIRS - Welcome to Electrical

SimulationsImplemented event-driven simulator in C++Six ISP graphs from Rocketfuel project (UW)

SprintLink: 89 nodes, 972 bidirectional edgesEdge capacities: scaled to 1 Gbps / “cost”Edge latencies: speed of light x distance

Sender: Seattle; Receivers: 20 arbitrary (5 shown)Mincut: 450 Mbps; Max 833 MbpsUnion 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)

Page 21: Network Coding for the Internet - BIRS - Welcome to Electrical
Page 22: Network Coding for the Internet - BIRS - Welcome to Electrical

Received Rank

0 20 40 60 80 100 120 140 160 180 20040

50

60

70

80

90

100

Generation number

Rec

eive

d ra

nk

Chicago (450 Mbps)Pearl Harbor (525 Mbps)Anaheim (625 Mbps)Boston (733 Mbps)SanJose (833 Mbps)

0 5 10 15 20 2540

50

60

70

80

90

100

Field size (bits)

Avg

. rec

eive

d ra

nk

Chicago (450 Mbps)Pearl Harbor (525 Mbps)Anaheim (625 Mbps)Boston (733 Mbps)SanJose (833 Mbps)

Page 23: Network Coding for the Internet - BIRS - Welcome to Electrical

Throughput

400 450 500 550 600 650 700 750 800 850400

450

500

550

600

650

700

750

800

850

Sending rate (Mbps)

Thro

ughp

ut (M

bps)

Chicago (450 Mbps)Pearl Harbor (525 Mbps)Anaheim (625 Mbps)Boston (733 Mbps)SanJose (833 Mbps)

400 450 500 550 600 650 700 750 800 850400

450

500

550

600

650

700

750

800

850

Sending rate (Mbps)

Thro

ughp

ut (M

bps)

Chicago (450 Mbps)Pearl Harbor (525 Mbps)Anaheim (625 Mbps)Boston (733 Mbps)SanJose (833 Mbps)

Page 24: Network Coding for the Internet - BIRS - Welcome to Electrical

Throughput Loss

20 30 40 50 60 70 80 90 1000

10

20

30

40

50

60

70

80

90

100

Generation Size

Thro

ughp

ut L

oss

(Mbp

s)

Chicago (450 Mbps)Pearl Harbor (525 Mbps)Anaheim (625 Mbps)Boston (733 Mbps)San Jose (833 Mbps)

0 10 20 30 40 50 60 70 80 90 1000

50

100

150

200

250

300

Interleaving Length

Thro

ughp

ut L

oss

(Mbp

s)

Chicago (450 Mbps)Pearl Harbor (525 Mbps)Anaheim (625 Mbps)Boston (733 Mbps)SanJose (833 Mbps)

Page 25: Network Coding for the Internet - BIRS - Welcome to Electrical

Decoding Delay

20 30 40 50 60 70 80 90 1000

20

40

60

80

100

120

140

160

180

200

Generation Size

Pac

ket d

elay

(ms)

Pkt delay w/ blk decodingPkt delay w/ earliest decoding

0 10 20 30 40 50 60 70 80 90 1000

20

40

60

80

100

120

140

160

180

200

Interleaving Length

Pac

ket d

elay

(ms)

Pkt delay w/ blk decodingPkt delay w/ earliest decoding

Page 26: Network Coding for the Internet - BIRS - Welcome to Electrical

Network Coding for Internet and Wireless Applications

AkamaiRBN

ALM

Split

Stre

amCo

opN

et

Dig

ital

Foun

tain

Gnu

tella

Ka

zaa

Bit

Torr

ent

Peer

Net

Win

dow

s M

esse

nger

Xbox

LiveAd Hoc

(P2P)

Infra-structure

(CDN)

Insta

nt

Messa

gingwireless

Internet Live

broa

dcas

t

Media

on

deman

dDow

nload

from pe

er

Code

d

downlo

ad

Paral

lel

downlo

ad

Inter

activ

e

Commun

icatio

n

(confe

rencin

g,

gaming

)

File download

Page 27: Network Coding for the Internet - BIRS - Welcome to Electrical

Live BroadcastState-of-the-art: Application Layer Multicast (ALM) trees with disjoint edges (e.g., CoopNet, SplitStream)

FEC/MDC striped across trees

Up/download bandwidths equalized

[Padmanabhan, Wang, and Chou, 2003]

a failed node

Page 28: Network Coding for the Internet - BIRS - Welcome to Electrical

Live Broadcast (2)Network Coding sends mix of parents to each child

Losses/failures not propagated beyond child

ALM/CoopNet average throughput: (1–ε)depth * sending rateNetwork Coding average throughput: (1–ε) * sending rate

[Jain, Lovász, and Chou, 2004]

failed node

affected nodes(maxflow: ht → ht – 1)

unaffected nodes(maxflow unchanged)

Page 29: Network Coding for the Internet - BIRS - Welcome to Electrical

File DownloadState-of-the-Art: Parallel download (e.g., BitTorrent)

Selects parents at randomReconciles working setsFlash crowds stressful

Network Coding:Does not need to reconcile working setsHandles flash crowds similarly to live broadcast

Throughput download timeSeamlessly transitions from broadcast to download mode

Page 30: Network Coding for the Internet - BIRS - Welcome to Electrical

File Download (2)

139117.2NC TFT

136117.0NC Free

182127.1FEC TFT

159123.6FEC Free

185126.1LR TFT

161124.2LR Free

MaxMean

C. Gkantsidis and P. Rodriguez Rodruiguez, Network Coding for large scale content distribution,INFOCOM 2005, reprinted with permission.

Page 31: Network Coding for the Internet - BIRS - Welcome to Electrical

Instant MessagingState-of-the-Art: Flooding (e.g., PeerNet)

Peer Name Resolution Protocol (distributed hash table)Maintains group as graph with 3-7 neighbors per nodeMessaging service: push down at source, pops up at receivers

How? FloodingAdaptive, reliable3-7x over-use

Network Coding:Improves network usage 3-7x (since all packets informative)Scales naturally from short message to long flows

Page 32: Network Coding for the Internet - BIRS - Welcome to Electrical

Interactive Communication in mobile ad hoc wireless networks

State-of-the-Art: Route discovery and maintenanceTimeliness, reliability

Network Coding:Is as distributed, robust, and adaptive as flooding

Each node becomes collector and beacon of informationMinimizes delay without having to find minimum delay routeCan also minimize energy (# transmissions)

Page 33: Network Coding for the Internet - BIRS - Welcome to Electrical

a+b a+b

Physical Piggybacking

Information sent from t to s can be piggybacked on information sent from s to tNetwork coding helps even with point-to-point interactive communication

throughputenergy per bitdelay

a b

s t

Page 34: Network Coding for the Internet - BIRS - Welcome to Electrical

Energy-Efficient Broadcasting in Wireless Ad-hoc Networks

By Widmer, Fragouli, Le Boudec (NetCod’05)All nodes are senders; all nodes are receiversTnc is #transmissions needed for broadcast with network coding; Tw is #transmissions w/o network codingConsider ring networkLemma: Tnc/Tw ≥ ½Achievable by physical piggybacking

Page 35: Network Coding for the Internet - BIRS - Welcome to Electrical

Energy-Efficient Broadcasting in Wireless Ad-hoc Networks

Consider grid network (toroidal)Lemma: Tnc/Tw ≥ ¾Achievable by physical piggybacking

Page 36: Network Coding for the Internet - BIRS - Welcome to Electrical

Simulation ResultsWidmer, Fragouli, Le Boudec1500m x 1500m, 144 nodes randomly placed250m radio rangeIdealized MAC: each time slot, create schedule: pick random node, transmit if all neighbors are idle, repeat until fullCount #transmissions needed per node to reach certain packet delivery ratioCompare Network Coding, Flooding, Ideal Flooding, parametrized by d

Page 37: Network Coding for the Internet - BIRS - Welcome to Electrical

Flooding Algorithm

Each information unit originating at node is transmittedA new packet received is retransmitted with probability dFor “ideal” flooding, packet is not retransmitted if all neighbors have already received it (omniscient)

Page 38: Network Coding for the Internet - BIRS - Welcome to Electrical

Network Coding AlgorithmEach node maintains send counter s (#transmissions it is allowed to make)Initially, s = 0Each information unit originating at node increments s by 1Each innovative packet received increments s by fraction d < 1Each transmission decrements s by 1Can’t transmit anything if s < 1

Page 39: Network Coding for the Internet - BIRS - Welcome to Electrical

Transmissions vsPacket delivery ratio

Page 40: Network Coding for the Internet - BIRS - Welcome to Electrical

Packet delivery ratio vsPacket drop rate (w/ d=0.5)

Page 41: Network Coding for the Internet - BIRS - Welcome to Electrical

SummaryNetwork Coding is Practical

Packet FormatBuffering

Network Coding can improve performancein IP or wireless networksfor live broadcast, file download, messaging, interactive communicationby improving throughput, robustness, delay, energy consumption, manageabilityeven if all nodes are receivers,even for point-to-point communication