Resource and Locality Awareness in an Incentive-based P2P Live - - PowerPoint PPT Presentation

resource and locality awareness in an incentive based p2p
SMART_READER_LITE
LIVE PREVIEW

Resource and Locality Awareness in an Incentive-based P2P Live - - PowerPoint PPT Presentation

Introduction PULSE Experiment Conclusions Resource and Locality Awareness in an Incentive-based P2P Live Streaming System Fabio Pianese and Diego Perino France Telecom - Division R&D Issy-les-Moulineaux, France 2 nd P2P-TV SIGCOMM


slide-1
SLIDE 1

Introduction PULSE Experiment Conclusions

Resource and Locality Awareness in an Incentive-based P2P Live Streaming System

Fabio Pianese and Diego Perino

France Telecom - Division R&D Issy-les-Moulineaux, France

2nd P2P-TV SIGCOMM Workshop August 31, 2007- Kyoto, Japan

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-2
SLIDE 2

Introduction PULSE Experiment Conclusions Problem Statement Ipse Dixit Our Approach

IPTV: Streaming Live Media

P2P Live Streaming on the Internet Huge interest: reduce the cost of live media distribution High potential: self-scalability as users provide resources Easy deployment (compared to global native multicast) Encouraging Results... Various Tree-based and Mesh-based approaches Efficient bandwidth utilization (w/ uniform upload capacity) Several Issues are Still Open!

1

How to deal with widespread upload heterogeneity?

2

How to deal with node transience and heavy churn?

3

How to implement awareness of network topology?

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-3
SLIDE 3

Introduction PULSE Experiment Conclusions Problem Statement Ipse Dixit Our Approach

Contribution

Upload Heterogeneity usually solved by extrinsic mechanisms (e.g. public bartering records, assume correct reporting, etc.) ⇒ Not very effective in a real-world context!!! Our Goals Introduce intrinsic bandwidth awareness Introduce intrinsic latency awareness Have a system intrinsically resilient to churn But... how to do that? Organize the peers in the system as a dynamical mesh Exploit the side effects of an altruistic TFT incentive

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-4
SLIDE 4

Introduction PULSE Experiment Conclusions Problem Statement Ipse Dixit Our Approach

What?!? A TFT Incentive? Again? Please!

In live-streaming P2P services, all peers receive data at the same rate, e.g. that of the video encoded rate. Thus, discouraging resource rich peers from helping more. – Anonymous Reviewer #1 [...] insisting on pure TFT in a streaming system does not give enough incentive to nodes with high upload bandwidth to contribute more. It is [...] unclear why authors insist on TFT. – Anonymous Reviewer #2 [...] the mechanism tit-for-tat itself is very old. – Anonymous Reviewer #3

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-5
SLIDE 5

Introduction PULSE Experiment Conclusions Problem Statement Ipse Dixit Our Approach

Yes, an Altruistic TFT Incentive!

Pairwise incentives have been successfully employed in P2P content distribution applications, e.g. BitTorrent Primary Purpose (but not for us!) Enforce (some definition of) fairness in the resource utilization Recently Discovered Side Effect Nodes form clusters by amount of shared resources [1][2][3] Hence, Our Idea! Exploit this spontaneous clustering to improve the support

  • f bandwidth heterogeneity in the node population (PULSE)

[1] Neglia, G. et al., “A network formation game approach to study BitTorrent Tit-for-Tat”, EuroFGI 2007 [2] Gai, A. et al., “Stratification in P2P Networks: Application to BitTorrent”, ICDCS 2007 [3] Legout, A. et al., “Clustering and Sharing Incentives in BitTorrent Systems”, SIGMETRICS 2007 Fabio Pianese P2P-TV 2007: Incentives and Security

slide-6
SLIDE 6

Introduction PULSE Experiment Conclusions Problem Statement Ipse Dixit Our Approach

So, How To Encourage Altruism?

Insight: Randomness Is Key!

1

Natural churn: peers come and go all the time

2

Induced churn: connections are renegotiated often

3

Timeliness: the playout deadline is not far away

4

Retaliation: if you never give, you will rarely receive Altruism spread among many peers discourages leeching Not enough data per peer to sustain continuous streaming Lack of altruism may result in random temporary starvation Accidents a-happen, y’a-understand? <evil grin> Altruism is a way to strengthen the ties between nodes ⇒ so: must choose the targets for altruism appropriately

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-7
SLIDE 7

Introduction PULSE Experiment Conclusions Incentive Model Conjectures

Optimistic Tit-for-Tat in BitTorrent

We set out to adapt the BT TFT incentive to our new context Renegotiate all connections every EPOCH = 30s Number of neighbor slots is fixed (e.g four) [impl. specific] Serve the best peers in terms of contribution (last EPOCH) Slot reserved for random optimistic selection Changes are required to: Improve robustness of data reception (avoid starvation!) Promote synchronization of rich nodes on recent data Avoid the under-utilization of available upload capacity

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-8
SLIDE 8

Introduction PULSE Experiment Conclusions Incentive Model Conjectures

Optimistic Tit-for-Tat in PULSE

PULSE implements a modified TFT incentive: Renegotiate all connections every EPOCH = 2-5s Number of TFT neighbor slots is fixed (four) Serve the best peers in terms of contribution (last EPOCH) Slot reserved for optimistic selection w/ shared interest

Choice is performed based on the buffer data range

As upload permits, serve peers that need older data

Additional altruism, again based on buffer data range

Also: the buffer implements a sliding window mechanism Deliver a continuous sequence of chunks to media player

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-9
SLIDE 9

Introduction PULSE Experiment Conclusions Incentive Model Conjectures

About the Structure of the PULSE Node Buffer

The stream is composed by a continuous sequence of chunks Classic FEC is applied by the source: K% of chunks are parity The buffer implements a sliding window mechanism: it may slide to the left only when less than K% chunks are missing

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-10
SLIDE 10

Introduction PULSE Experiment Conclusions Incentive Model Conjectures

Mesh + ...

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-11
SLIDE 11

Introduction PULSE Experiment Conclusions Incentive Model Conjectures

Mesh + Clustering + ...

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-12
SLIDE 12

Introduction PULSE Experiment Conclusions Incentive Model Conjectures

Mesh + Clustering + Targeted Altruism = ...

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-13
SLIDE 13

Introduction PULSE Experiment Conclusions Incentive Model Conjectures

... = Bandwidth Awareness!

Adaptive lag-based clustering is induced by the TFT incentive Nodes layered by decreasing shared upload bandwidth Optional altruism improves the global performance Resourceful nodes help nodes which are nearly as rich TFT retribution is enhanced for the altruistic nodes! Expected results: Wide and short chunk distribution trees (on average) The resourceful nodes obtain a lower and stable lag Near-optimal bandwidth allocation even under scarcity

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-14
SLIDE 14

Introduction PULSE Experiment Conclusions Incentive Model Conjectures

... = Locality Awareness!

Obtained by introducing a latency bias parameter C We measure latency of neighbor nodes (control msgs) It’s very easy to influence the optimistic TFT selection Idea: add preference for topologically near neighbors! Expected results: Average improvement in the topological awareness Clustering biased by both bandwidth and latency

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-15
SLIDE 15

Introduction PULSE Experiment Conclusions Details Results

The PULSE Prototype Node

Coded in python, available on http://pulse.netofpeers.net/ Uses the Twisted framework to manage the sockets Data exchanges use TCP , control messages on UDP Code is licensed under GNU LGPL, you are free to play with it Early snapshot, not very polished, use at own risk... Improvements made to it are very much welcome!

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-16
SLIDE 16

Introduction PULSE Experiment Conclusions Details Results

Testbed Setup

Emulab: Grid’5000 Testbed (G5K) Up to 800 nodes on up to 400 dedicated machines Almost-flat network topology, quite uniform latency Bandwidth limitation performed at application level Internet: Planet-Lab Testbed (PL) Up to 200 nodes on machines all around the world Latencies assumed as typical of a real-world scenario No bandwidth limitation performed by the application

CPU of our PL slice proved to be the actual bottleneck CPU shortage results in artificial limitation of BW use

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-17
SLIDE 17

Introduction PULSE Experiment Conclusions Details Results

Parameters

1

Chunk Rate: 16 chunks/s (G5K) - 4 chunks/s (PL)

Stream Rate (SBR) 256 Kbps

2

Outbound Connections: 12 total (NA = 8, NTFT = 4)

3

Grid’5000 BW distribution chosen among the following:

HH-LB - 4% (VERY RICH) 10*SBR, 20% (RICH) 3*SBR, 21% (NORMAL) SBR-2*SBR, 55% (POOR) SBR

2 -2*SBR

Average Node Capacity in this Scenario: 1.04*SBR

LH-LB - 20% (RICH) 2*SBR-SBR, 80% (NORMAL) SBR-2*SBR

Average Node Capacity in this Scenario: 1.2*SBR

Source always has bandwidth 4*SBR (UL-DL)

4

TW = 32 chunks; FEC rate=20%; EPOCH=2s

5

Requests: Max outstanding/peer=2 - Timeout=0.5s

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-18
SLIDE 18

Introduction PULSE Experiment Conclusions Details Results

Evaluating Bandwidth Awareness (G5K)

TB Avg. and Std. Deviation by Class over Time 20 40 60 80 100 0 20 40 60 80 100 Average Lag [chunks] Time [s] HH-LB P N R VR 20 40 60 80 100 0 20 40 60 80 100 Time [s] LH-LB N R

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-19
SLIDE 19

Introduction PULSE Experiment Conclusions Details Results

Chunk Distribution Trees (G5K) - 800 Nodes

Tree Analysis 3 5 7 9 11 13 15 17 200 600 1000 1400 1800 2200 Max Depth [hops] Chunk ID HH-LB LH-LB 30 60 90 120 150 2 4 6 8 10 12 14 Avg Width [nodes] Layer HH-LB LH-LB

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-20
SLIDE 20

Introduction PULSE Experiment Conclusions Details Results

HH-LB: Tree Layer Composition (by BW Class)

1 2 3 4 5 6 7 8 10 20 30 40 50 60 70 80 90 100 Tree Layer Avg. Layer Percentage VERY RICH RICH NORMAL POOR

Peer Selection at source is not TFT-based (random, lag range) Layer 1 is not “optimized”, but the following are

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-21
SLIDE 21

Introduction PULSE Experiment Conclusions Details Results

Bandwidth Awareness on PL - 200 Nodes

50 100 150 200 250 100 200 300 400 500 600 700 800 900 1000 Lag [chunks] Time [s] Node Lag over Time (from 10th to 90th percentile) 50 100 150 200 0.5 1 1.5 2 2.5 3 3.5 Avg Lag [chunks] Data Uploaded (wrt stream rate) Relationship between Node Lag and Average Upload

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-22
SLIDE 22

Introduction PULSE Experiment Conclusions Details Results

Introducing the Latency Bias (PL)

We experimented with several values, C = 1 is presented Lag Percentile 10% 30% 50% 70% 90% C=0 12.31 18.10 26.18 37.70 61.08 C=1 10.53 14.47 18.89 27.22 49.39 Table shows average xth percentile lag (in chunks) Introducing latency awareness also benefits overall lag!

“shorter” connections ⇒ faster control exchanges faster control exchanges ⇒ higher upload utilization

Percentile lag gain ranges from 16% (10th) to 38% (70th)

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-23
SLIDE 23

Introduction PULSE Experiment Conclusions Details Results

Latency Awareness of TFT Connections (PL)

Lag vs Average TFT Connection Delay 20 25 30 35 40 45 50 55 60 100 200 TFT Delay [ms] Lag [chunks] C=0 20 25 30 35 40 45 50 55 60 100 200 Lag [chunks] C=1

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-24
SLIDE 24

Introduction PULSE Experiment Conclusions Details Results

Latency Awareness of Data Transfers (PL)

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-25
SLIDE 25

Introduction PULSE Experiment Conclusions Claims The End

Claims

The system showed encouraging results for different BW scenarios, arrival patterns and population sizes TFT is effective to discriminate nodes based on upload Altruism + lag feedback help consolidate clustering Mesh of connections supports very high churn rates Results: PULSE can implicitly support BW heterogeneity

Incentives can be used as a metric for optimization!

Introducing locality optimization is easy and effective

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-26
SLIDE 26

Introduction PULSE Experiment Conclusions Claims The End

Questions?

1

Introduction Problem Statement Ipse Dixit Our Approach

2

The PULSE System Incentive Model Conjectures

3

Experiment Details Results

4

Conclusions Claims The End

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-27
SLIDE 27

Definitions Related Work

Incentives: Definitions

We will indicate the buffer lag of peer x as TB(x) The width of the Trading Window is defined as TW Data Buffer: Distance and Interest Overlap Buffer Distance between peers a and b: D(a, b) = TB(a) − TB(b) Buffer Interest Overlap: I(a, b) = TW − |D(a, b)| if |D(a, b)| ≤ TW

  • therwise

If D(a, b) > TW we say that a is ahead of b, b is behind a ⇒ a can serve b (older chunks), b cannot serve a Pairwise Latency (measured by control messages) Network latency between peers a and b: L(a, b)

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-28
SLIDE 28

Definitions Related Work

PULSE: Pairwise Incentive

Optimistic TFT for Live Streaming: NTFT slots The best NTFT − 1 contributors of last EPOCH will be chosen Optimistic selection slot at peer a: Among all nodes b for which I(a, b) > 0 choose the one for which BI = I(a, b) − C · L(a, b) is highest BI is the biased interest function. C is the latency bias Requests by these NTFT peers are served with high priority

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-29
SLIDE 29

Definitions Related Work

PULSE: Pairwise Incentive

Contribution-Aware Optional Altruism: NA slots Keep a cumulative score H about all the known nodes Increase score when unexpected chunk received Decrease score when issuing altruistic contribution Altruistic selection at peer a: Among all nodes b that are behind a choose the F nodes with the highest H score Requests by these NA peers are served with low priority

Fabio Pianese P2P-TV 2007: Incentives and Security

slide-30
SLIDE 30

Definitions Related Work

Related Work

Awareness to Upload Heterogeneity Rely on autonomous/external contribution policing Multiple-ESM [4]: nodes are entitled to join trees based on the upload they contribute (self-enforced)

Nodes can “cheat” and fail to behave properly Changes in tree topology cause disruption

Bartering schemes - eg. [5] - (externally enforced)

Not evaluated in practice, to our knowledge

Periodically replace the least-performing neighbors Coolstreaming/DONet [6] iteratively updates its mesh

[4] Sung, Y. et al., “Enabling contribution awareness in an overlay broadcasting system”, SIGCOMM 2006 [5] Pouwelse, J. et al., “Real-time Video Delivery using Peer-to-Peer Bartering Networks and Multiple Description Coding”, SMC 2004 [6] Zhang, X. et al., “CoolStreaming/DONet: A Data-driven Overlay Network for Peer-to-Peer Live Media Streaming”, INFOCOM 2005 Fabio Pianese P2P-TV 2007: Incentives and Security

slide-31
SLIDE 31

Definitions Related Work

Related Work

Resilience to Churn Substantial consensus: meshes behave better under churn Awareness to Underlying Topology Information about topology is hard to gather at application layer! Relying on inline latency measurements (ping, etc.)

Low accuracy, but simple to implement

Relying on external mechanisms (landmarks, etc.)

Rich literature on calculating Internet distances Better accuracy, but requires an external subsystem

Both methods are easily adapted to mesh-based systems [7]

[7] Chang, B. et al., “Refine DONet’s Overlay with Network Distance Estimation”, WRAIPS 2006 Fabio Pianese P2P-TV 2007: Incentives and Security