multicast + network coding in ad hoc networks

34
Multicast + Network Coding in Ad Hoc Networks CS 218 Fall 2008

Upload: valiant

Post on 14-Jan-2016

52 views

Category:

Documents


0 download

DESCRIPTION

Multicast + Network Coding in Ad Hoc Networks. CS 218 Fall 2008. Routing vs Network Coding. y 1. y 1. f 1 ( y 1 ,y 2 ,y 3 ). y 1. y 2. f 2 ( y 1 ,y 2 ,y 3 ). y 3. y 3. y 3. x. B. C. A. y. B. C. A. x  y. B. C. A. B. C. A. Benefit of Network Coding. y. x. B. C. A. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Multicast + Network Coding  in Ad Hoc Networks

Multicast + Network Coding in Ad Hoc Networks

CS 218 Fall 2008

Page 2: Multicast + Network Coding  in Ad Hoc Networks

2

Routing vs Network Coding

y1

y2

y3

f1(y1,y2,y3)

f2(y1,y2,y3)

y1

y3

y1

y3

Page 3: Multicast + Network Coding  in Ad Hoc Networks

3

Benefit of Network Coding

x

y

x y

AC B

AC B

AC B

x

y

AC B

AC By

xAC B

AC B

4 transmissions without NC 3 transmissions with NC

y = x (x y)

xAC B

y

(Katabi’05, Chou’04)

Page 4: Multicast + Network Coding  in Ad Hoc Networks

4

NC achieves multicast capacity

Alswede, Cai, Li, Yeung (2000): mintЄT MinCut(s,t) is always

achievable by network coding h = mintЄT MinCut(s,t)

is “multicast capacity”

sender

receiver

optimal routingthroughput = 1

network codingthroughput = 2

coding node

a,b

a

a

a

a

bb

b

b

a+b a+b

a+b

,a

,b

Page 5: Multicast + Network Coding  in Ad Hoc Networks

5

How to code?

Sender s

Directed graph (V,E)

Given:

Receiver set T (subset of V)

Page 6: Multicast + Network Coding  in Ad Hoc Networks

6

Random Linear Coding

x y z

Random combinati

on

buffer

Sender

Destination

A

αx + βy + γz

Every packet p carries e = [e1 e2 e3] encoding vector prefix indicating how it is constructed

(e.g., coded packet p = ∑eixi where xi is original packet)

Intermediate nodes randomly mix incoming packets to generate outgoing packets

Page 7: Multicast + Network Coding  in Ad Hoc Networks

7

Random Linear Coding

a*p1 + b*p2 + c*p3 = n1

p1 p2 p3

n1 n2 n3

d*p1 + e*p2 + f*p3 = n2

g*p1 + h*p2 + e*p3 = n3

Original Packets

Page 8: Multicast + Network Coding  in Ad Hoc Networks

8

Random Linear Coding (cont.)

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

3

2

1

669

732

185

3

2

1

p

p

p

n

n

n

5*p1[1] + 8*p2[1] + 1*p3[1] = n1[1]

p1 p2 p3

n1 n2 n3

2*p1[1] + 3*p2[1] + 7*p3[1] = n2[1]

9*p1[1] + 6*p2[1] + 5*p3[1] = n3[1]

[5 8 1] [2 3 7] [9 6 5]

Original Packets

ÍHP 1 −=Recover original by matrix inversion

Page 9: Multicast + Network Coding  in Ad Hoc Networks

9

Random Linear Coding (cont.)

An application generates a stream of frames

Block/Generation 1 Block 2

time

Network layer generates stream of coded packets

A random linear combination of Block 1 frames

A random linear combination of Block 2 frames

Generation 1 Generation 2(delay)

Page 10: Multicast + Network Coding  in Ad Hoc Networks

10

Forwarding – RLC

Source Receiver

Page 11: Multicast + Network Coding  in Ad Hoc Networks

11

Random Network Coding

Receivers recover original

by matrix

inversion

random combinati

on

buffer

Intermediate nodes randomly mix incoming packets to generate outgoing packets

Every packet p carries e = [e1 e2 e3] encoding vector prefix indicating how it is constructed

(e.g., coded packet p = ∑eixi where xi is original packet)

Page 12: Multicast + Network Coding  in Ad Hoc Networks

12

Robust Multicast using NC In tactical nets one must consider:

Random errors; External interference/jamming

Motion; path breakage

Target application: Multicast (buffered) video streaming

Some loss tolerance Some delay tolerance (store & playback at

destination) - non interactive

Page 13: Multicast + Network Coding  in Ad Hoc Networks

13

Problem Statement Multicast streaming in mobile wireless

networks is non-trivial Streaming requires: high reliability (but

not 100%), low delay (but not 0) But network is: unreliable, bandwidth-

limited

Major concern: packet drops Lossy wireless channel (uncorrelated,

random like errors) Route breakage due to mobility,

congestion, etc (correlated errors)

Page 14: Multicast + Network Coding  in Ad Hoc Networks

14

Conventional vs NC Multicast Conventional Approaches

Time diversity => O/H, delay? Recovery scheme a la ARQ (Reliable Multicast) (End-to-end) Coding (FEC, MDC, …)

Multipath diversity (ODMRP, …) => O/H?

NC Approach Main ingredient: Random network coding (by Médard et

al., Chou et al.) Exploit time and multipath diversity Controlled-loss (near 100%), bounded-delay (hundreds

of ms) Suitable for buffered streaming Real time version (tens of ms delay bound) possible

Page 15: Multicast + Network Coding  in Ad Hoc Networks

15

Simulation experiments Settings

QualNet 100 nodes on 1500 x 1500 m2

5 Kbytes/sec traffic (512B packet) - light load Single source; multiple destinations Random Waypoint Mobility 20 receivers

Metrics Good Packet ratio: num. of data packets received

within deadline (1sec) vs. total num. of data packets generated

Normalized packet O/H: total no. of packets generated vs no. of data packet received

Delay: packet delivery time

Page 16: Multicast + Network Coding  in Ad Hoc Networks

16

ODMRP vs C-Cast: Reliability

0.92

0.93

0.94

0.95

0.96

0.97

0.98

0.99

1

1.01

0 10 20 30 40

Max Node Speed (m/sec)

Delivery Ratio CodeCast-8-dp0

CodeCast-8-dp10

CodeCast-4-dp0UDP-dp0

UDP-dp10

Goo

d P

acke

t R

atio

Page 17: Multicast + Network Coding  in Ad Hoc Networks

17

ODMRP vs C-Cast: Efficiency

0

0.5

1

1.5

2

2.5

3

3.5

0 10 20 30 40

Max Node Speed (m/sec)

Normalized Packet OH |

CodeCast-8-dp0

CodeCast-8-dp10

CodeCast-4-dp0

UDP-dp0

UDP-dp10

Page 18: Multicast + Network Coding  in Ad Hoc Networks

18

ODMRP vs C-Cast: Delay

0

0.1

0.2

0.3

0.4

0.5

0.6

0 10 20 30 40

Max Node Speed (m/sec)

Average End-to-End Delay (sec)

CodeCast-8-dp0

CodeCast-8-dp10

CodeCast-4-dp0

UDP-dp0

UDP-dp10

Page 19: Multicast + Network Coding  in Ad Hoc Networks

19

Throughput Bounds

Max NC throughput in wireless networks? Previous simulation results based on light load. As load

is increased, congestion leads to performance collapse Evaluate max throughput analytically for a simple

grid structure, the “corridor”:

receivers

sender

Page 20: Multicast + Network Coding  in Ad Hoc Networks

maximize f

Wireless medium contention and scheduling constraints

Wireless flow conservation constraints

Linear Programming Formulation

Page 21: Multicast + Network Coding  in Ad Hoc Networks

21

Maximum Multicast Throughput CodeCast vs Conventional

Receivers

Sender

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0 0.1 0.2

Link Error Probability

End-to-end Throughput

(Link Capacity=1)Network CodingMulticast with Tree PackingMulticast with Single Tree

CORRIDOR MODEL

Page 22: Multicast + Network Coding  in Ad Hoc Networks

22

A

A

A

B

B

B

C

(1) (2) (3) (4)

Link schedule achieving 2/3 throughput

receiver

sender

(Assuming time-slotted system)

Page 23: Multicast + Network Coding  in Ad Hoc Networks

23

F

A+B

E

E F

D C

A B

G H

F E

C D

H

C+D

G

A B

A B

B

C D

A

C D

(1) (2) (3) (4) (5) (6)

(7) (8) (9) (10) (11) (12)

Link schedule for NC achieving throughput of 2/3

Page 24: Multicast + Network Coding  in Ad Hoc Networks

24

A

A

A

B

BA

B

B

C

(1) (2) (3) (4) (5)

(6)

Multicast with multiple embedded trees (no NC): Link schedule achieves 2/5 throughput

C

C

D

DC

D

(7) (8) (9) (10)

Page 25: Multicast + Network Coding  in Ad Hoc Networks

Modeling Wireless Medium We model the broadcast nature of the wireless

medium using hyperarcs An hyperarc (i,J) represents a specific usage of the

broadcast link from the sender i to a set of destination nodes , where is the number of neighbors of node i

Total number of hyperarcs = iN

i

2∑

i i i

(a) Examples of Hyperarcs in red

Interference

iNJ ⊂ iN

Page 26: Multicast + Network Coding  in Ad Hoc Networks

27

Modeling Wireless Medium (cont)

Wireless medium is shared, which is a main factor that limits the capacity of wireless multi–hop networks.

To model this shared nature of the medium, we map it into a graph theory problem, the Maximal Independent Set Enumeration Problem. A Independent Set represents a set of non interfering hyperarcs. (By finding only maximal sets, the number of sets is reduced.)

i

(a) I.S. (b) NO I.S. (c) Maximal I.S.

Conflict!

Page 27: Multicast + Network Coding  in Ad Hoc Networks

28

Modeling Wireless Medium (cont)

All hyperarcs in a Maximal I.S. can be activated at the same time. Scheduling is always feasible when only one Maximal I.S. is exclusively activated in a time slot.

Let be the fraction of time in which the k-th Maximal I.S. is activated. Clearly we have:

Let be the time share allocated to a hyperarc (i, J). Then, sufficient and necessary condition for a link schedule to be feasible is:

where

.

1≤∑k

AJiJiczk

kkiJ ∈∀≤∑ ),(),,(λ

iJz

(L: link capacity)

Page 28: Multicast + Network Coding  in Ad Hoc Networks

29

Network Coding in P2P Swarming P2P Swarming

File is divided into many small pieces for distribution Clients request different pieces from the server/other peers When all pieces are downloaded, clients can re-construct the whole file Rare piece problem

P2P using Network Coding Avalanche, Infocom’05

1 2 65

Server

3 4

1 5 6 2 4

1 2 3 4 5 6

3

[Rodriguez, Biersack, Infocom’00]

Page 29: Multicast + Network Coding  in Ad Hoc Networks

30

Multicast in VANETs - CodeTorrent Content distribution in VANET such as ad

movie clips etc VANET challenges

Error-prone channel Dense, but intermittent connectivity High, but restricted mobility patterns No guaranteed cooperativeness (only, users of

the same interests will cooperate) CodeTorrent approach

Single-hop data pulling BitTorrent-style file swarming with random

network coding to cope with dynamic environments

Page 30: Multicast + Network Coding  in Ad Hoc Networks

31

Design RationaleWhy single-hop pulling?

Multi-hop data pulling does not perform well in VANET (routing O/H is high)

Users in multi-hop may not forward packets not useful to them (lack of incentive)!

Network coding Mitigate a rare piece problem Maximize the benefits of overhearing

Exploits mobility such that coded blocks are carried from AP and forwarded to other nodes Mobility helps data dissemination

Page 31: Multicast + Network Coding  in Ad Hoc Networks

32

CodeTorrent: Basic Idea

Internet

Downloading a Coded Block from Gateway

Outside Range of Gateway

Download a “coded” piece

Buffer

BufferBuffer

Random Linear Combination of Blocks

Exchange Re-Encoded Blocks

Meeting Other Vehicles with Coded Blocks

Page 32: Multicast + Network Coding  in Ad Hoc Networks

33

Simulations - Setup Qualnet IEEE 802.11b / 2Mbps Real-track mobility model

(Westwood map) 2.4x2.4 km2

Distributing 1MB file 4KB block / 250 pieces 1KB per packet

# of APs: 3 Randomly located at the road

sides Comparing CarTorrent (w/

AODV) and CodeTorrent Vicinity of UCLA

Page 33: Multicast + Network Coding  in Ad Hoc Networks

34

Simulation Results Overall downloading progress

200 nodes40% popularity

Page 34: Multicast + Network Coding  in Ad Hoc Networks

35

Simulation Results Speed helps disseminate from AP’s and C2C Speed hurts multihop routing (CarT) Car density+mhop promotes congestion (CarT)

40% popularity