A Framework for Architecting Peer-to-Peer Receiver

A Framework for Architecting Peer-toPeer Receiver-driven Overlays
Reza Rejaie, Shad Stafford
Mirage Research Group
Department of Computer Science
University of Oregon
NOSSDAV 2004
Cork, Ireland
Introduction
• Problem: non-interactive streaming in P2P Networks
• Design goals:
–
–
–
–
–
Maximum delivered quality to each peer.
Scalability (of data and control traffic) with group size
Robust to dynamics of peer participation
Adaptable to changing network dynamics (variations in BW)
Accommodating peer BW heterogeneity and asymmetry
• Common approach: form a P2P overlay
 Existing solutions are unable to form a bandwidthaware overlay => can not maximize delivered quality
Basic Design Issues
• Structured vs unstructured P2P?
– Unstructured can gracefully cope with churn
• Single vs multiple parents in the overlay?
– Only multiple parent overlay (mesh) can accommodate BW Hetro.
& Asym.
• Pair-wise connections must be congestion controlled
• Delivery: how to deliver a single stream from
multiple congestion controlled parents?
– Requires tight coordination among senders to efficiently “stream”
maximum deliverable quality from multiple parents
Main Components
1) Peer Discovery: the mechanism to find other peers
–
Must scale with group size
2) Parent Selection: the mechanism to select “good” parents
–
Selection Criteria: 1) Minimizing overall Delay, & 2) maximizing overall
Bandwidth from all parents.
 Minimizing Delay and Maximizing BW might be conflicting goals
• Scalable Delay estimation using Global Network
Positioning (GNP)
• Estimation of pair-wise available BW between all peers
requires periodic N*N measurement => Does not scale
 Selecting a parent could affect BW from others (i.e. shared bottleneck)
Existing Solutions
• Layered encoded content, each layer is delivered
through a separate source-rooted tree
– accommodate BW Heterogeneity, but does not perform
congestion control
• Peer Discovery: Mesh-first or centralized
approach
– Neither scalable nor bandwidth-aware
• Parent Selection: only using delay as selection
criteria
– Delivered bandwidth over a tree structure is inherently limited
by minimum outgoing bandwidth among upstream peers
– Multiple trees may share congested links
Proposed approach
• Decouple Delivery & Overlay construction
1) Delivery (PALS): A receiver-driven mechanism
to stream from multiple congestion-controlled
senders [NOSSDAV 2003]
 Higher bandwidth => Higher quality
2) Overlay construction (PRO):
 Each receiver selfishly, independently, dynamically searches
for parents to maximize its own BW, and thus its own quality
PRO: An Overview
• Search for good parents by each peer is conducted in two phases:
1) Gossip-based Peer Discovery (PD):
– Identifies potentially good parents in the overlay through periodic gossiping.
– Good parents are maintained in a local image
– Reducing scope of search from the entire group to a small number of peers
2) Parent selection (PS)
– PS searches for a subset of parents within the local image that maximize
performance
– Their actual BW is verified through passive measurement
Gossip-based Peer Discovery
target
• Peer Pi (originator) periodically selects a target
Pj
peer (Pj) to gossip with
• Gathered info about good parents are maintained
Good parents
in a local, incomplete image. Per peer info:
– Pk : IPAddk , GNP-Coork, inBWk, outBWk , TS
for me?
• [gossip target] Pj can identify good parents Pk
from its local image for gossip originator Pi
since:
– Well known Utility func: U(outBWk, Dki) enables Pj to
assess value of any peer Pk in its local image for Pj , e.g.
joint-ranking
– Dki: Relative Distance Pk- Pj is estimated from their GNP
cor.
– outBWk is used as a “hint” for potential ave BW from Pk
Local Image
Pk : IPAddk
Pk,Pn,Pm
Pk
Pi
originator
Gossiping: Main Components
1) Target selection: how to select gossip target?
– Random selection, biased towards peers with higher utility
2) Content selection: how should the target peer select
content of a gossip message?
– Select N peers from its local image with Max utility for the gossip
originator.
3) Image maintenance: how to improve “quality” of local
image? [there are two orthogonal dimension for img quality]
– Utility: Maximizing overall utility [drop peers w lower utility]
– Freshness: Maximizing freshness (ts) of image [drop older ts]
 Tradeoff between freshness and utility of image
 Degree of overlap among images affects reachability,
search efficiency, and robustness to peer dynamics
Parent Selection
•
•
Local image contains potentially good parents
Each peer selfishly, progressively searches for a
subset of parents from the local image in order to
1) Maximize total BW/Quality from all parents
2) Minimize total delay from all parents
3) Maximize path diversity from parents
•
Best subset of parents is not unique, and changes
with time
• PS strategy by individual peers collectively
determines shape of the overlay.
 What is a proper search & evaluation strategy to
dynamically find the best subset of parent?
Parent Selection: Main Components
1) When to select a new parent?
– Tradeoff between responsiveness and stability
– Hysteresis and binning (of BW and distance) => stability
– Select a new parent to increase BW or decrease delay
2) Which peer to select as new parent?
– Non-uniform random selection, biased with peer’s utility
3) How should a parent be evaluated? [both new and existing]
–



Monitor available BW from parents & correlation among them
Correlation in available BW => shared bottleneck
[Degree of correlation => level of mux on a shared bottleneck]
[Maximize path diversity and/or overall BW from parents]
The Key Idea
• Congestion controlled BW from parents serves as an implicit signal for
each peer to detect:
– Any relevant change in the overlay, mainly peers that share a parent
– Any measurable/major shared bottleneck among connection from parents
– Major, long-term changes in BW due to congestion
 CC bandwidth signals peers to properly change their parents
 dynamically reshape the overlay
Conclusion & Future Work
• PRO is a simple, receiver-driven framework to architect
unstructured P2P overlays, that
–
–
–
–
Maximizes delivered bandwidth to heterogeneous peers
Gracefully accommodate dynamics of peer participation
Incorporates scalable peer discovery, and selfish parent selection
Dynamically adapts to changes in overlay or network conditions.
• PRO trades simplicity with performance
– Optimal performance is very hard to achieve anyway!
• Gossip-based peer discovery is applicable to any P2P net.
• Future Work
– Detailed evaluations of various components are being conducted
– Plan to prototype the PD and PS functions as a generic middleware
• See paper for further details.