Distributed Scalable Content Discovery Based on Rendezvous Points Jun Gao Ph.D. Thesis Proposal Computer Science Department Carnegie Mellon University.

Slides:



Advertisements
Similar presentations
Efficient Event-based Resource Discovery Wei Yan*, Songlin Hu*, Vinod Muthusamy +, Hans-Arno Jacobsen +, Li Zha* * Chinese Academy of Sciences, Beijing.
Advertisements

P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Pete Bohman Adam Kunk.  Introduction  Related Work  System Overview  Indexing Scheme  Ranking  Evaluation  Conclusion.
Chord: A scalable peer-to- peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashock, Hari Balakrishnan.
Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014.
Scaling Distributed Machine Learning with the BASED ON THE PAPER AND PRESENTATION: SCALING DISTRIBUTED MACHINE LEARNING WITH THE PARAMETER SERVER – GOOGLE,
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Applications over P2P Structured Overlays Antonino Virgillito.
Network Coding for Large Scale Content Distribution Christos Gkantsidis Georgia Institute of Technology Pablo Rodriguez Microsoft Research IEEE INFOCOM.
M ERCURY : A Scalable Publish-Subscribe System for Internet Games Ashwin R. Bharambe, Sanjay Rao & Srinivasan Seshan Carnegie Mellon University.
Internet Indirection Infrastructure Ion Stoica UC Berkeley.
Carnegie Mellon University Complex queries in distributed publish- subscribe systems Ashwin R. Bharambe, Justin Weisz and Srinivasan Seshan.
Rendezvous Points-Based Scalable Content Discovery with Load Balancing Jun Gao Peter Steenkiste Computer Science Department Carnegie Mellon University.
Efficient Content Location Using Interest-based Locality in Peer-to-Peer Systems Presented by: Lin Wing Kai.
Distributed Lookup Systems
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek and Hari alakrishnan.
SCALLOP A Scalable and Load-Balanced Peer- to-Peer Lookup Protocol for High- Performance Distributed System Jerry Chou, Tai-Yi Huang & Kuang-Li Huang Embedded.
Object Naming & Content based Object Search 2/3/2003.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
1 Routing as a Service Karthik Lakshminarayanan (with Ion Stoica and Scott Shenker) Sahara/i3 retreat, January 2004.
1 Seminar: Information Management in the Web Gnutella, Freenet and more: an overview of file sharing architectures Thomas Zahn.
Wide-area cooperative storage with CFS
ICDE A Peer-to-peer Framework for Caching Range Queries Ozgur D. Sahin Abhishek Gupta Divyakant Agrawal Amr El Abbadi Department of Computer Science.
Internet Indirection Infrastructure (i3) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
CSE679: Multicast and Multimedia r Basics r Addressing r Routing r Hierarchical multicast r QoS multicast.
Distributed Computing COEN 317 DC2: Naming, part 1.
Roger ZimmermannCOMPSAC 2004, September 30 Spatial Data Query Support in Peer-to-Peer Systems Roger Zimmermann, Wei-Shinn Ku, and Haojun Wang Computer.
Communication (II) Chapter 4
HERO: Online Real-time Vehicle Tracking in Shanghai Xuejia Lu 11/17/2008.
5.1 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Gil EinzigerRoy Friedman Computer Science Department Technion.
Overlay Network Physical LayerR : router Overlay Layer N R R R R R N.
Using the Small-World Model to Improve Freenet Performance Hui Zhang Ashish Goel Ramesh Govindan USC.
Distributed Computing COEN 317 DC2: Naming, part 1.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
SOS: Security Overlay Service Angelos D. Keromytis, Vishal Misra, Daniel Rubenstein- Columbia University ACM SIGCOMM 2002 CONFERENCE, PITTSBURGH PA, AUG.
Efficient Peer to Peer Keyword Searching Nathan Gray.
Benjamin AraiUniversity of California, Riverside Reliable Hierarchical Data Storage in Sensor Networks Song Lin – Benjamin.
Module 7: Resolving NetBIOS Names by Using Windows Internet Name Service (WINS)
Implicit group messaging in peer-to-peer networks Daniel Cutting, 28th April 2006 Advanced Networks Research Group.
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.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
1 Distributed Hash Table CS780-3 Lecture Notes In courtesy of Heng Yin.
1. Outline  Introduction  Different Mechanisms Broadcasting Multicasting Forward Pointers Home-based approach Distributed Hash Tables Hierarchical approaches.
Information-Centric Networks10b-1 Week 10 / Paper 2 Hermes: a distributed event-based middleware architecture –P.R. Pietzuch, J.M. Bacon –ICDCS 2002 Workshops.
Information-Centric Networks Section # 10.2: Publish/Subscribe Instructor: George Xylomenos Department: Informatics.
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
Introduction to Active Directory
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Design and implementation of an intentional naming system William Adjie-WinotoElliot Schwartz Hari BalakrishnanJeremy Lilley MIT Laboratory for Computer.
NCLAB 1 Supporting complex queries in a distributed manner without using DHT NodeWiz: Peer-to-Peer Resource Discovery for Grids Sujoy Basu, Sujata Banerjee,
Malugo – a scalable peer-to-peer storage system..
Incrementally Improving Lookup Latency in Distributed Hash Table Systems Hui Zhang 1, Ashish Goel 2, Ramesh Govindan 1 1 University of Southern California.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
Magdalena Balazinska, Hari Balakrishnan, and David Karger
Internet Indirection Infrastructure (i3)
Peer-to-peer networking
CHAPTER 3 Architectures for Distributed Systems
Early Measurements of a Cluster-based Architecture for P2P Systems
5.2 FLAT NAMING.
Overview Multimedia: The Role of WINS in the Network Infrastructure
Presentation transcript:

Distributed Scalable Content Discovery Based on Rendezvous Points Jun Gao Ph.D. Thesis Proposal Computer Science Department Carnegie Mellon University May 20th, 2002

Jun GaoCarnegie Mellon University2 Outline  Content Discovery System (CDS)  Thesis statement  Related work  Proposed CDS system  Research plan  Time line  Expected contributions

Jun GaoCarnegie Mellon University3 Content Discovery System (CDS)  Distributed system that allows the discovery of contents  Three logical entities  “content name” discovery  Broad definition of “content”  Example CDS systems  Service discovery  Peer-to-peer object sharing  Pub/sub systems  Separation of content discovery and content delivery R R S C S S C C S: content providers (servers) C: content consumers(clients) R: content resolvers R R R R ? ? ?

Jun GaoCarnegie Mellon University4 Example: A Highway Monitoring Service  Allows users to discover traffic status observed by cameras and sensors  What is the speed around Fort Pitt tunnel?  Are there any accidents on I-279?  What sections around Pittsburgh are congested?  Characteristics of this service  Support large number of devices  Devices must update frequently  Support high query rate Snapshot from: Traffic.com

Jun GaoCarnegie Mellon University5 Thesis Statement In this thesis, I propose a distributed and scalable approach to content discovery that supports flexible and efficient search of dynamic contents.

Jun GaoCarnegie Mellon University6 CDS Properties  Contents must be searchable  Find contents without knowing the exact names  Contents can be dynamic  Content names are not hierarchical  Scalability  System performance remains as load increases  Distributed and robust infrastructure  No centralized administration  Generic software layer  Building block for high level applications

Jun GaoCarnegie Mellon University7 Related Work  Existing systems have difficulties in achieving both scalability and rich functionality  Centralized solution  Central resolver(s) stores all the contents  Supports flexible search  Load concentration at the central site  Single point-of-failure.  Distributed solution  Graph-based schemes  Tree-based schemes  Hash-based schemes

Jun GaoCarnegie Mellon University8 Distributed Solutions  Graph-based systems  Resolvers organized into a general graph  Registration flooding scheme  Query broadcasting scheme  Not scalable  Robust infrastructure  Tree-based systems  Resolvers organized into a tree  Scale well for hierarchical names  E.g., DNS  Hard to apply to non- hierarchical names  Robustness concern  Load concentration close to the root

Jun GaoCarnegie Mellon University9 Hash-based Lookup Systems  Resolvers form an overlay network based on hashing  E.g., Chord, CAN, Pastry, Tapestry  Provide a simple name lookup mechanism  Associating content names with resolver nodes  No flooding or broadcasting  Do not support search  Clients must know the exact name of the content  Our system utilizes the hash-based lookup algorithms

Jun GaoCarnegie Mellon University10 Proposed CDS system  Basic system design  Naming scheme  Resolver network  Rendezvous Point (RP) based scheme  System with load balancing  Load concentration problem  Load Balancing Matrices (LBM)

Jun GaoCarnegie Mellon University11 Attribute-Value Based Naming Scheme  Content names and queries are represented with AV-pairs  Attributes may be dynamic  One attribute may depend on another attribute  Searchable  Query is a subset of the matched name  2 n – 1 matched queries for a name that has n AV-pairs  Example queries  find out the speed at I-279, exit 4, in Pittsburgh  find the highway sections in Pittsburgh that speed is 45mph Camera number = 5562 Camera type = q-cam Highway = I-279 Exit = 4 City = pittsburgh Speed = 45mph Road condition = dry Highway = I-279 Exit = 4 City = pittsburgh Speed = 45mph Service description (SD) Query 1: Query 2:

Jun GaoCarnegie Mellon University12 Hash-based Resolver Network  Resolvers form a hash-based overlay network  Use Chord-like mechanisms  Node ID computed based on a hash function H  Node ID based forwarding within the overlay  Path length is O(log Nc)  CDS is decoupled from underlying overlay mechanism  We use this layer for content distribution and discovery IP Hash-based Overlay CDS Applications R R R R R R Overlay links

Jun GaoCarnegie Mellon University13 Rendezvous Point (RP) -based Approach  Distribute each content name to a set of resolver nodes, known as RPs  Queries are sent to proper RPs for resolution  Guidelines  The set should be small  Use different set for different names  Ensure that a name can be found by all possible matched queries SD1 RP1 SD2 RP2 Q

Jun GaoCarnegie Mellon University14 Registration with RP nodes  Hash each AV-pair individually to get a RP node ID  Ensures correctness for queries  RP set size is n for a name with n AV-pairs  Full name is sent to each node in the RP set  Replicated at n places  Registration cost  O(n) messages to n nodes N3 N5 SD1 RP1 N4 N6 SD2 RP2 SD1: {a1=v1, a2=v2, a3=v3, a4=v4) SD2: {a1=v1, a2=v2, a5=v5, a6=v6) N2 H(a1=v1) = N1, H(a2=v2) = N2 N1

Jun GaoCarnegie Mellon University15 Resolver Node Database  A node becomes the specialized resolver for the AV- pairs mapped onto it  Each node receives equal number of AV-pairs  k = N d / N c  Size of the name database is determined by the number of names contain each of the k AV-pair  Contain the complete AV-pair list for each name  Can resolve received query completely N1: (a1=v1) SD1: a1=v1, a2=v2, a3=v3, a4=v4 SD2: a1=v1, a2=v2, a5=v5, a6=v6 SD3: a1=v1, … … (a7=v7) … N2: (a2=v2) SD1: a2=v2, a1=v1, a3=v3, a4=v4 SD2: a2=v2, a1=v1, a5=v5, a6=v6 SD4: a2=v2, … … N d : Number of different AV-pairs N c : Number of Resolver nodes N avi : Number of names that contain av i

Jun GaoCarnegie Mellon University16 Query Resolution  Client applies the same hash function to m AV-pairs in the query to get the IDs of resolver nodes  Query can be resolved by any of these nodes  Query optimization algorithm  Client selects a node that has the best performance  E.g., probe the database size on each node  Query cost  O(1) query message  O(m) probe messages SD1 RP1 SD2 RP2 N2 N1 Q:{a1=v1, a2=v2} H(a1=v1) = N1, H(a2=v2) = N2 ?

Jun GaoCarnegie Mellon University17 Load Concentration Problem  Basic system performs well under balanced load  Registrations and queries processed efficiently  However, one node may be overloaded before others  May receive more names than others  Corresponds to common AV-pairs in names  May be overloaded by registration messages  May be overloaded by query messages  Corresponds to popular AV-pairs in queries

Jun GaoCarnegie Mellon University18 Example: Zipf distribution of AV-pairs  Observation: some AV-pairs are very popular, and many are uncommon  E.g. speed=45mph vs. speed=90mph  Suppose the popularity distribution of AV-pairs in names follow a Zipf distribution  Example:  100,000 names have the most popular AV-pair  Will be mapped onto one node!  Each AV-pair ranked from 1000 to is contained in less than 100 names AV-pair rank #of names Ns=100,000, Nd=10,000, k=1,  =1 Ns: total number of names Nd: number of different AV-pairs i: AV-pair rank(from 1 to Nd) k: constant  : constant near 1

Jun GaoCarnegie Mellon University19 CDS with Load Balancing  Intuition  Use a set of nodes for a popular AV-pair  Mechanisms  Partition when registration load reaches threshold  Replicate when query load reaches threshold  Guideline  Must ensure registrations and queries can still find RP nodes efficiently Thresholds maintained on each node T SD : Maximum number of content names can host T reg : Maximum sustainable registration rate T q : Maximum sustainable query rate

Jun GaoCarnegie Mellon University20 Load Balancing Matrix (LBM)  Use a matrix of nodes to store all names that contain one AV-pair  RP Node  RP Matrix  Columns are used to share registration load  Rows are used to share query load  Matrix expands and contracts automatically based on the current load  Self-adaptive  No centralized control 1,1 1,2 2,1 2,2 1,3 3,1 3,2 2,33,3 Partitions Replicas N 1 (p,r) = H(av1, p, r) 0,0 Head node Head node: N 1 (0,0) =H(av1, 0, 0), stores the size of the matrix (p, r) Nodes are indexed Matrix for av1

Jun GaoCarnegie Mellon University21 Registration  New partitions are introduced when the last column reaches threshold  Increase the p value by 1  Accept new registrations  Discover the matrix size (p, r) for each AV-pair  Retrieve from head node N 1 (0,0)  Binary search to discover  Use previously cached value  Send registration to nodes in the last column  Replicas  Each column is a subset of the names that contain av1 1,1 1,2 2,1 2,2 1,32,3 SD1:{av1, av2, av3} 0,0 p=? p=3 Matrix for av1 3,1 3,2 3,3 p++

Jun GaoCarnegie Mellon University22 Query  Select a matrix with the fewest columns  Small p  few partitions  Sent to one node in each column  To get all the matched contents  Within each column, sent to a random node  Distribute query load evenly  New replicas are created when the query load on a node reaches threshold  Increase r value by 1  Duplicate its content at node N 1 (p,r+1)  Future queries will be shared by r+1 nodes in the column 1,1 1,2 2,1 2,2 1,3 3,1 3,2 2,33,3 Q:{av1, av2} Matrix for av1 Matrix for av2

Jun GaoCarnegie Mellon University23 Matrix Compaction  Smaller matrix is more efficient for registrations and queries  Matrix compaction along P dimension  When earlier nodes in each row have available space  Push  Pull  Decrease p value by 1  Matrix compaction along R dimension  When observed query rate goes below threshold  Decrease r value by 1  Must maintain consistency 1,1 1,2 2,1 2,2 1,3 3,1 3,2 2,33,3 P R 0,0 Matrix for av1

Jun GaoCarnegie Mellon University24 System Properties  From a resolver node point of view  Load observed is upper bounded by thresholds  From whole system point of view  Load is spread across all resolvers  System does not reject registrations or queries until all resolvers reach thresholds  Registration cost for one AV- pair  O(r i ) registration messages, where r i is the number of rows in the LBM  Query cost for one AV-pair  O(p i ) query messages, where p i is the number of columns in the LBM

Jun GaoCarnegie Mellon University25 Matrix Effects on Registration and Query  Matrix grows as registration and query load increase  Number of resolver nodes in one matrix  m i = r i p i  Matrices tend not to be big along both dimensions  Matrix with many partitions gets less queries  Query optimization algorithm  Large p  small r  Matrix with fewer partitions gets more queries  Small p  large r  Replication cost small  Will study the effects in comprehensive system evaluation

Jun GaoCarnegie Mellon University26 Roadmap  Content Discovery System (CDS)  Thesis statement  Related work  Proposed CDS system  Research plan  Time line  Expected contributions

Jun GaoCarnegie Mellon University27 Implementation Plan  Simulator implementation  For evaluation under controlled environment  Plan to use Chord simulator as a starting point  Actual implementation  Implement CDS as a generic software module  Deploy on the Internet for evaluation  Implement real applications on top of CDS

Jun GaoCarnegie Mellon University28 Evaluation Plan  Work load generation  Synthetic load  Use known distributions to model AV-pair distribution in names and queries  Benchmarks  Take benchmarks used in other applications, e.g., databases  Collect traces  Modify open source applications to obtain real traces  Performance metrics  Registration and query response time  Success/blocking rate  System utilization

Jun GaoCarnegie Mellon University29 System Improvements  Performance  Specialized resolvers  Combine AV-pairs  Search within a matrix  Functionality  Range search  Auxiliary data structure to index the RP nodes  Database operations  E.g., “project”, “select”, etc.

Jun GaoCarnegie Mellon University30 Specialized Resolvers  Problem  All the RP matrices corresponding to a query are large, but the number of matched contents is small  Q:{device=camera, location=weh7110}  Idea  Deploy resolvers that correspond to the AV-pair combination  Mechanism  First level resolver monitors query rate on subsequent AV-pair  Spawn new node when reaches threshold  Forward registration to it N1 N12 C S SD:{av1, av2} H(av1) H(av1,av2) Register Re-register Reply Query Q:{av1, av2}

Jun GaoCarnegie Mellon University31 Improve Search Performance within LBM  For a query, the selected matrix may have many partitions  Reply implosion  Organize the columns into logical trees  Propagate query from root to leaves  Collect results at each level  Can exercise “early termination” N1N1 C (1,r) N1N1 (2,r) N1N1 (3,r) N1N1 (4,r) N1N1 (5,r) N1N1 (6,r) N1N1 (7,r) Query Reply

Jun GaoCarnegie Mellon University32 Support for Range Search  Hash makes range search difficult  No node corresponds to a1>26  Nodes do not know each other even if share attribute  Mechanism  Use an auxiliary data structure to store the related nodes  E.g., B-tree stored on N=H(a1)  Registration and query go through this data structure to collect the list of nodes to be visited a1=4 a1=8a1=12a1=17a1=30a1=26 Q:{ 8 < a1 < 30} N

Jun GaoCarnegie Mellon University33 Time Line Tasks Summer’02Summer’03Fall’02Spring’03Fall’03 Basic CDS simulator implementation Incorporate load balancing mechanisms Synthetic load and Benchmark evaluation Actual implementation Collect traces and comprehensive evaluation System improvement Internet evaluation Writing

Jun GaoCarnegie Mellon University34 Expected Contributions  System  Demonstrate the proposed CDS provides a scalable solution to the content discovery problem  Architecture  Show content discovery is a critical layer in building a wide range of distributed applications  Software  Contribute the CDS software to the research community and general public