Pseudo-DHT: Distributed Search Algorithm for P2P Video Streaming

Slides:



Advertisements
Similar presentations
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Advertisements

Peer to Peer and Distributed Hash Tables
Peer-to-Peer (P2P) Distributed Storage 1Dennis Kafura – CS5204 – Operating Systems.
CHORD – peer to peer lookup protocol Shankar Karthik Vaithianathan & Aravind Sivaraman University of Central Florida.
Playback delay in p2p streaming systems with random packet forwarding Viktoria Fodor and Ilias Chatzidrossos Laboratory for Communication Networks School.
Chord: A scalable peer-to- peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashock, Hari Balakrishnan.
Common approach 1. Define space: assign random ID (160-bit) to each node and key 2. Define a metric topology in this space,  that is, the space of keys.
Small-world Overlay P2P Network
A Peer-to-Peer On-Demand Streaming Service and Its Performance Evaluation Presenter: Nera Liu Author: Yang Guo, Kyoungwon Suh, Jim Kurose and Don Towsley.
Hash Tables How well do hash tables support dynamic set operations? Implementations –Direct address –Hash functions Collision resolution methods –Universal.
Topics in Reliable Distributed Systems Lecture 2, Fall Dr. Idit Keidar.
Load Balancing in Structured P2P Systems (DHTs) Sonesh Surana [Brighten Godfrey, Karthik Lakshminarayanan, Ananth Rao, Ion Stoica,
Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications Stoica et al. Presented by Tam Chantem March 30, 2007.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek and Hari alakrishnan.
Performance Evaluation of Peer-to-Peer Video Streaming Systems Wilson, W.F. Poon The Chinese University of Hong Kong.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
Data Structures Hash Table (aka Dictionary) i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, Andreas Veneris, Glenn Brookshear,
On-Demand Media Streaming Over the Internet Mohamed M. Hefeeda, Bharat K. Bhargava Presented by Sam Distributed Computing Systems, FTDCS Proceedings.
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
Multi-level Hashing for Peer-to-Peer System in Wireless Ad Hoc Environment Dewan Tanvir Ahmed and Shervin Shirmohammadi Distributed & Collaborative Virtual.
DELAYED CHAINING: A PRACTICAL P2P SOLUTION FOR VIDEO-ON-DEMAND Speaker : 童耀民 MA1G Authors: Paris, J.-F.Paris, J.-F. ; Amer, A. Computer.
1 Reading Report 5 Yin Chen 2 Mar 2004 Reference: Chord: A Scalable Peer-To-Peer Lookup Service for Internet Applications, Ion Stoica, Robert Morris, david.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
Chapter 11 Indexing & Hashing. 2 n Sophisticated database access methods n Basic concerns: access/insertion/deletion time, space overhead n Indexing 
Efficient Peer to Peer Keyword Searching Nathan Gray.
Presentation 1 By: Hitesh Chheda 2/2/2010. Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT Laboratory for Computer Science.
An IP Address Based Caching Scheme for Peer-to-Peer Networks Ronaldo Alves Ferreira Joint work with Ananth Grama and Suresh Jagannathan Department of Computer.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented.
SIGCOMM 2001 Lecture slides by Dr. Yingwu Zhu Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
Kaleidoscope – Adding Colors to Kademlia Gil Einziger, Roy Friedman, Eyal Kibbar Computer Science, Technion 1.
PROP: A Scalable and Reliable P2P Assisted Proxy Streaming System Computer Science Department College of William and Mary Lei Guo, Songqing Chen, and Xiaodong.
Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems Antony Rowstron and Peter Druschel, Middleware 2001.
Chord Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber Google,
A simple model for analyzing P2P streaming protocols. Seminar on advanced Internet applications and systems Amit Farkash. 1.
Peer to Peer Network Design Discovery and Routing algorithms
Time-Shifted Streaming in a P2P Video Multicast System Jeonghun Noh, Aditya Mavlankar, Pierpaolo Baccichet 1, and Bernd Girod Information Systems Laboratory.
Two Peer-to-Peer Networking Approaches Ken Calvert Net Seminar, 23 October 2001 Note: Many slides “borrowed” from S. Ratnasamy’s Qualifying Exam talk.
CS 347Notes081 CS 347: Parallel and Distributed Data Management Notes 08: P2P Systems.
An overlay for latency gradated multicasting Anwitaman Datta SCE, NTU Singapore Ion Stoica, Mike Franklin EECS, UC Berkeley
Large Scale Sharing Marco F. Duarte COMP 520: Distributed Systems September 19, 2004.
Peer-to-Peer (P2P) File Systems. P2P File Systems CS 5204 – Fall, Peer-to-Peer Systems Definition: “Peer-to-peer systems can be characterized as.
Incrementally Improving Lookup Latency in Distributed Hash Table Systems Hui Zhang 1, Ashish Goel 2, Ramesh Govindan 1 1 University of Southern California.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
Gleb Skobeltsyn Flavio Junqueira Vassilis Plachouras
Memory Hierarchy Ideal memory is fast, large, and inexpensive
Coral: A Peer-to-peer Content Distribution Network
Introduction to Queueing Theory
CS 268: Lecture 22 (Peer-to-Peer Networks)
Pastry Scalable, decentralized object locations and routing for large p2p systems.
The Impact of Replacement Granularity on Video Caching
A Scalable Peer-to-peer Lookup Service for Internet Applications
Peer-to-Peer Data Management
Multilevel Memories (Improving performance using alittle “cash”)
CS 332: Algorithms Hash Tables David Luebke /19/2018.
A Scalable Routing Architecture for Prefix Tries
A Framework for Automatic Resource and Accuracy Management in A Cloud Environment Smita Vijayakumar.
Hash tables Hash table: a list of some fixed size, that positions elements according to an algorithm called a hash function … hash function h(element)
EE 122: Peer-to-Peer (P2P) Networks
DHT Routing Geometries and Chord
Prof. Leonardo Mostarda University of Camerino
Peer-to-Peer (P2P) File Systems
Building Peer-to-Peer Systems with Chord, a Distributed Lookup Service
Peer-to-Peer Storage Systems
Distributed Hash Tables
Hashing Sections 10.2 – 10.3 Lecture 26 CS302 Data Structures
Chord and CFS Philip Skov Knudsen
What we learn with pleasure we never forget. Alfred Mercier
Consistent Hashing and Distributed Hash Table
Jeonghun Noh Sachin Deshpande* Information Systems Laboratory
Presentation transcript:

Pseudo-DHT: Distributed Search Algorithm for P2P Video Streaming December 15, 2008 Jeonghun Noh Stanford University Sachin Deshpande Sharp Laboratories of America

P2P Live Video Streaming Relaying video using uplink bandwidth Define leech clearly. Video source Live video: no needs for locating video chunks

P2P Time-Shifted Streaming Local storage to store fractions of the video To locate video at arbitrary point, a query server may be used 7~11m 3~6m 0~4m Seeking video of position 5m The server can become a bottleneck as peer population increases No dedicated server may be available A scalable distributed content search is desired

Outline P2TSS system Pseudo-DHT: Distributed Search Performance evaluation Numerical analysis Simulation study Carol: I think this slide could be eliminated

Introduction to P2TSS P2TSS (P2P Time-shifted Streaming System) Serves both live streaming and time-shifted streaming Time-shifted stream (TSS) is the same as the original stream except being delayed in time Peers store a fraction of video Cached video chunks are later served to other peers Source peer Peer 1 stores Video [0m, 4m) from 9:00am Peer 2 watches from 0m at 9:10am [Deshpande et al., 2008]

Caching Live Stream Peers cache live stream with another video connection Peer3 Cached portion t2 x2 Video position Playback trajectory Peer 2 Peers locally determine which portion to cache Distributed Stream Buffer (DSB) Peer’s local buffer to hold a fraction of video A finite size of cache (e.g., size of 2 to 4 minutes of video) Independent of playback buffer Static contents in cache No content change once the cache is full Provides a bottom line performance t3 x3 x1 t1 Peer 1 Live stream Time

Chord: Distributed Lookup Chord: a distributed lookup overlay [Stoica et al., 2001] Nodes (peers) are connected as a circle Keys are mapped to successor node Fast lookup by a finger table. Lookup latency: O( log(Np) ) An example key/node space Nodes and keys sorted by IDs ID length: 6bits Can be normalized to [0,1) Each peer participates in the search process Computational resources” contributed by peers N: node K: key

Building Lookup Overlay Node is entered to overlay as peer joins Node ID: uniformly drawn between [0,1) Node is placed in a distributed manner (Key, Value) is entered as peer registers buffer status Key (K): hashed video chunk ID ( 0 ≤ K < 1) Value (V): peer network address (K,V) is mapped to the successor node Example 1

Pseudo-DHT: Registration Register (K, V) may result in “collision” (i, Peer 1) (i, Peer 2) Chunk ID i Repeat Register (K’, V) until there is no collision K’ = K + (n-1)Δ (n=# attempts, Δ=offset base) Another consequence : low penalty due to node disconnect. But this is low level (Chord functionality.. Or DHT) Increases lookup performance. 1st attempt 2nd attempt Chunk ID i i-1 empty : Occupied ID Unlike original DHT, single key-multiple values is discouraged Leads to better load balancing and low latency retrieval

Pseudo-DHT: Retrieval Seeking Video Chunk I Retrieve(i) may return a “miss” K’ = i - (n-1)Δ (n=# attempts, Δ=offset base) Repeat Retrieve(K’) with different keys until a hit occurs Best-effort search, different from original DHT 3rd 2nd 1st attempt Chunk ID i i-1 : Video chunks available i-2 : Video Chunk Header miss miss Chunks delivered to the consumer peer

Outline P2TSS system Pseudo-DHT: Distributed Search Performance evaluation Numerical analysis Simulation study Carol: I think this slide could be eliminated

Preliminaries for Analysis Symbols Np: Number of peers (or nodes) L: Video length (in secs) Q: Video chunk size (in secs) : Ratio between Np and available slots M (=L/Q)

Registration Latency Independence model for the number of collision, C More sophisticated model where A denotes the number of peer arrival in Q seconds

Experimental Setup Pseudo-DHT implemented in PlanetSim [Garcia et al, 2004] Simulation setup Maximum successive lookup: 4 Video length L: 7200s Buffer size D: 240s Chunk size Q: 5, 10, 15, 30s

Registration Latency When  is small, models match simulation results Registration latency of both forward/backward key change is identical Load factor = Num of peers. As alpha increases, higher-order model (sophisticated) matches the result better. Video chunk size (Q): 5s

Retrieval Latency Empirical statistics Modeling retrieval latency N: Xk: 1 if video chunk Bk is occupied. 0 otherwise Conditional hit probability Pr (Xi-j=1| Xi=0), ( j: offset base ) With a larger offset base Δ, the correlation between successive retrievals becomes weaker (Np=500, L=7200s, Q=5s, =0.346) Each trial is assumed to be independent (with large offset Δ) Modeling retrieval latency N:

Offset Base and Retrieval Latency Retrieval latency decreases as an offset base increases Q=5. Load Factor = 300 / (7200/5+1). Step size (offset) : 5, 10, 15 seconds. A penalty is more frequent supplier switching Video chunk size Q: 5s

Video Chunk Size and Retrieval Latency As chunk size Q increases, retrieval latency decreases Potential discussion: Larger Q is always better? 1. Larger Q takes peers to take more time before registration (slow contribution). 2. More dense key accumulation -> Losing one node results in many key information (can be avoided by key replication, though) 3. Only a few of peers will hold all keys. Bad load balancing..

Overhead of Key Storage Balls and bins problem How many nodes (bins) hold k keys (balls)? Bins are created by nodes Random keys fall into [0,1) uniformly Statistically, larger bins will receive more balls Sample space: N=90, K=12. 1 Key/Node space

Overhead of Key Storage One node’s probability of storing k keys Observations Low overhead: keys are spread out on the overlay 50% of nodes store no keys when N=K Number of keys stored in a node N=300 K=300

Conclusion and Future Work Proposed Pseudo-DHT Allows peers to register / retrieve video chunk in a scalable way Slightly different from original DHT due to video continuity Spreads out (key, value) items over the overlay P2TSS and Pseudo-DHT Application to a P2P system Thorough evaluation with analysis and simulations Future research topics Changing Q dynamically according to peer population size Considering heterogeneous peer uplink capacity for registration

Thank you!

Backup Slides

Preliminaries for Analysis Video chunk ID space M-1 X0 X2 XM-1 X1

Sample Key/Node Space Interval between nodes is not constant Nodes (peers) Keys (DSB info)

Chord: Distributed Lookup Chord: a distributed lookup overlay [Stoica et al., 2001] Nodes (peers) and keys are mapped to a common space Fast lookup by a finger table. Lookup time: O( log(Np) ) An example key/node space Each peer participates in the search process Computational resources” contributed by peers N: node K: key

Caching Video Peers locally determine which portion to cache Distributed Stream Buffer (DSB) Peer’s local buffer to hold a fraction of video A finite size of cache (e.g., size of 2 to 4 minutes of video) Independent of playback buffer Peers locally determine which portion to cache Distributed Stream Buffer (DSB) Peer’s local buffer to hold a fraction of video A finite size of cache (e.g., size of 2 to 4 minutes of video) Independent of playback buffer Static contents in cache No content change once the cache is full Provides a bottom line performance Static contents in cache No content change once the cache is full Provides a bottom line performance

A lookup on Chord Overlay Fast search using a finger table. Each node has more detailed knowledge about nodes closer to them.

Registration Approach 2: Simplified dependence model Ai : Number of insertions for key i ( Number of arrivals during the slot i) Ai: Arrival in slot I. Not the number of key! Be careful.

Simultaneous Retrieval To reduce a retrieval latency

Retrieval Analysis With larger offsets (+) The number of lookups decreases slightly. (-) Peers have to switch earlier to another peer. The simulation results match the model Parameters Np = 500 L = 7200 D = 480s Q = 5s Number of slots: 1441 (M = 1440)

Analysis: Overhead for Key Storage Poisson process property: Given N(t) = N, N arrival times are independently uniformly distributed. In Poisson process, interarrival time between events is exponentially distributed. The converse is also true. Finally,