Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

18
Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming Mea Wang, Baochun Li Department of Electrical and Computer Engineering University of Toronto Infocom 2007

description

Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming. Mea Wang, Baochun Li Department of Electrical and Computer Engineering University of Toronto Infocom 2007. Question?. How helpful is networking coding in peer-to-peer streaming? Network coding - PowerPoint PPT Presentation

Transcript of Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

Page 1: Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

Mea Wang, Baochun LiDepartment of Electrical and Computer Engineering

University of TorontoInfocom 2007

Page 2: Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

Question?

• How helpful is networking coding in peer-to-peer streaming?– Network coding– Realistic testbed, Lava• With actual network traffic

– P2P streaming, Vanilla• Pull-based peer-to-peer live streaming protocol

Page 3: Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

Network Coding• Originally proposed in information theory• Theoretically improve network throughput of multicast

sessions in directed acyclic graphs, achieving their cut-set capacity bounds.

directed acyclic graph

• A promising information theoretic approaches to improve performance in peer-to-peer and wireless networks

Page 4: Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

Why Network Coding?• Node B– Packet 1 or Packet 2?– Packet 1 :

• Link between node B and node C can not be used

– Packet 2 :• Without any knowledge of the

transfers in the rest of the network• Which is the right packet?• Node B download a linear

combination of packets 1 and 2 from A– Can be used with Node C

Network Coding benefits when nodes only have local information.

Page 5: Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

Lava

• Experimental testbed of network coding in peer-to-peer live streaming– Lava: Architecture– Lava: Steaming with Vanilla– Lava: Progressive network coding

Page 6: Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

Lava: Architecture• A cluster of 44 high-performance servers

– Interconnected by Gigabit Ethernet– Emulating upload bandwidth capacities on each peer at the

application layer

Page 7: Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

Lava: Streaming with Vanilla

• A standard peer-to-peer streaming protocol– Data-driven pull-based peer-to-peer protocol

Page 8: Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

• Randomize network coding :

• a segment Is divided into n blocks• Randomly chooses a set of coding coefficients

Lava: Progressive Network Coding

Tn

ii

pi xAbbcx 1

1

nbbb ,...,, 21

nccc ,...,, 21

Page 9: Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

Lava: Progressive network coding

• Progressive decoding– Using Gauss-Jordan elimination instead of Gaussian

elimination– It can start to decode as soon as the first coded block is

received– The decoding time overlaps with the time required to

receive the original block.– Reduced row-echelon form (RREF)

Page 10: Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

Experimental Result

• With network coding– Decoding BW decreases

faster than the encoding BW as the number of blocks increases.

– Make decoding process the bottleneck of network coding in the streaming process.

– Support a wide range of streaming rates (100kB – 8MB per second)

Page 11: Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

Experimental Result• With / without network coding

– Transmission time: the time required to completely receive a segment– Recovery time: the time spent in the decoding process to recover the

original blocks after all blocks have been received.

The computational overhead of Gauss-Jordan elimination

Decoding times are almost completely concealed within the time required to receive the segment

Page 12: Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

Experimental Result

• Tuning density and aggressiveness :– Density: the ratio of none-zero entries in the set of coding

coefficients d(0<d<1)• The lower coding density leads to a smaller number of blocks

being coded, which reduces the coding complexity.– Aggressiveness: the peer starts producing and serving new

coded blocks after a*n (0<a<1) coded blocks has been received.• A lower aggressiveness setting leads to more “supply “ of coded

blocks.

Page 13: Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

Experimental Result• playback quality:– Playback skips:– Bandwidth redundancy: the percentage of discarded

blocks (due to linear dependence or obsolescence)

insignificantThe best playback is achieved when both aggressiveness and density are 100%

For typical streaming rates (e.g., 64 KB per second), the aggressiveness and density settings do not have significant effect on the playback quality and bandwidth redundancy.

Page 14: Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

Experimental Result• Three different streaming rate:– Supply > demand– Supply ~= demand– Supply < demand

Peers may be served by multiple randomly selected upstream peers that have coded blocks of the requested segment.

Better when a closes match between supply and demand

Network coding makes it possible to perform data streaming with finer granularity, so that the impact of a bandwidth supply shortage is significantly less severe.

Page 15: Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

Experimental Result• Balance between bandwidth supply and demand

The buffering levels with network coding increases slowly at the beginning of a session, due to processing overhead of coded blocks. (increasing initial peers)

Page 16: Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

Experimental Result• Scalability– Add one peer on each server at a time

Though network coding doesn’t improve the playback quality in static sessions, it reduces the amount of redundancy with respect to bandwidth usage.

Page 17: Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

Peer Dynamic• Interarrival times of peer join events and peer lifetimes are modeled as a

Weibull distribution (k,λ), – with a PDF– Shape parameter k, scale parameter λ

kxk

exkkxf

/

1

,;

Without initial skips

With initial skips

Slow increase of buffering levels at the beginning of a session

Better performance with network coding, especially when peers depart at a faster rate.

Page 18: Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming

Peer DynamicAlthough Vanilla enjoys a better overall playback, its buffering level fluctuates significantly

More stable and better performance in higher churn rate.

Despite initial skips, network coding demonstrates its resilience to network dynamics, without incurring any additional bandwidth.