130 likes | 293 Views
A Framework for Architecting Peer-to-Peer 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 :
E N D
A Framework for Architecting Peer-to-Peer 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 bandwidth-aware 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? • Onlymultiple 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 Local Image • Peer Pi (originator) periodically selects a target peer (Pj) to gossip with • Gathered info about good parents are maintained in a local, incomplete image. Per peer info: • Pk : IPAddk , GNP-Coork, inBWk, outBWk , TS • [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. • outBWkis used as a “hint” for potential ave BW from Pk Pj Pk : IPAddk Good parents for me? 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 • Maximize total BW/Quality from all parents • Minimize total delay from all parents • 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.