CSCI 599: Beyond Web Browsers Professor Shahram Ghandeharizadeh Computer Science Department Los Angeles, CA 90089.

Slides:



Advertisements
Similar presentations
Topology-Aware Overlay Construction and Server Selection Sylvia Ratnasamy Mark Handley Richard Karp Scott Shenker Infocom 2002.
Advertisements

CAN 1.Distributed Hash Tables a)DHT recap b)Uses c)Example – CAN.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
Scalable Content-Addressable Network Lintao Liu
Topologically-Aware Overlay Construction and Server Selection Sylvia Ratnasamy, Mark Handly, Richard Karp and Scott Shenker Presented by Shreeram Sahasrabudhe.
Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Schenker Presented by Greg Nims.
1 Accessing nearby copies of replicated objects Greg Plaxton, Rajmohan Rajaraman, Andrea Richa SPAA 1997.
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.
Thomas ZahnCST1 Seminar: Information Management in the Web Query Processing Over Peer- to-Peer Data Sharing Systems (UC Santa Barbara)
A Scalable Content Addressable Network (CAN)
Peer to Peer File Sharing Huseyin Ozgur TAN. What is Peer-to-Peer?  Every node is designed to(but may not by user choice) provide some service that helps.
Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker A Scalable, Content- Addressable Network (CAN) ACIRI U.C.Berkeley Tahoe Networks.
A Scalable Content Addressable Network Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, and Scott Shenker Presented by: Ilya Mirsky, Alex.
A Scalable Content-Addressable Network Authors: S. Ratnasamy, P. Francis, M. Handley, R. Karp, S. Shenker University of California, Berkeley Presenter:
Distributed Lookup Systems
A Scalable Content- Addressable Network Sections: 3.1 and 3.2 Καραγιάννης Αναστάσιος Α.Μ. 74.
1 A Scalable Content- Addressable Network S. Ratnasamy, P. Francis, M. Handley, R. Karp, S. Shenker Proceedings of ACM SIGCOMM ’01 Sections: 3.5 & 3.7.
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.
Content Addressable Networks. CAN Associate with each node and item a unique id in a d-dimensional space Goals –Scales to hundreds of thousands of nodes.
1 CS 194: Distributed Systems Distributed Hash Tables Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer.
Decentralized Location Services CS273 Guest Lecture April 24, 2001 Ben Y. Zhao.
Wide-area cooperative storage with CFS
P2P Course, Structured systems 1 Skip Net (9/11/05)
Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker A Scalable, Content- Addressable Network ACIRI U.C.Berkeley Tahoe Networks 1.
A Scalable Content-Addressable Network
ICDE A Peer-to-peer Framework for Caching Range Queries Ozgur D. Sahin Abhishek Gupta Divyakant Agrawal Amr El Abbadi Department of Computer Science.
Tapestry An off-the-wall routing protocol? Presented by Peter, Erik, and Morten.
Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker A Scalable, Content- Addressable Network ACIRI U.C.Berkeley Tahoe Networks 1.
Structured P2P Network Group14: Qiwei Zhang; Shi Yan; Dawei Ouyang; Boyu Sun.
Inexpensive Scalable Information Access Many Internet applications need to access data for millions of concurrent users Relational DBMS technology cannot.
P2P File Sharing Systems
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
1 A scalable Content- Addressable Network Sylvia Rathnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker Pirammanayagam Manickavasagam.
Roger ZimmermannCOMPSAC 2004, September 30 Spatial Data Query Support in Peer-to-Peer Systems Roger Zimmermann, Wei-Shinn Ku, and Haojun Wang Computer.
1 Plaxton Routing. 2 Introduction Plaxton routing is a scalable mechanism for accessing nearby copies of objects. Plaxton mesh is a data structure that.
CONTENT ADDRESSABLE NETWORK Sylvia Ratsanamy, Mark Handley Paul Francis, Richard Karp Scott Shenker.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
Applied Research Laboratory David E. Taylor A Scalable Content-Addressable Network Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker.
Sylvia Ratnasamy (UC Berkley Dissertation 2002) Paul Francis Mark Handley Richard Karp Scott Shenker A Scalable, Content Addressable Network Slides by.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
Vincent Matossian September 21st 2001 ECE 579 An Overview of Decentralized Discovery mechanisms.
Content Addressable Network CAN. The CAN is essentially a distributed Internet-scale hash table that maps file names to their location in the network.
A Scalable Content-Addressable Network (CAN) Seminar “Peer-to-peer Information Systems” Speaker Vladimir Eske Advisor Dr. Ralf Schenkel November 2003.
Presentation 1 By: Hitesh Chheda 2/2/2010. Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT Laboratory for Computer Science.
Content Addressable Networks CAN is a distributed infrastructure, that provides hash table-like functionality on Internet-like scales. Keys hashed into.
Scalable Content- Addressable Networks Prepared by Kuhan Paramsothy March 5, 2007.
P2P Group Meeting (ICS/FORTH) Monday, 28 March, 2005 A Scalable Content-Addressable Network Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp,
1 Distributed Hash Table CS780-3 Lecture Notes In courtesy of Heng Yin.
1 Presented by Jing Sun Computer Science and Engineering Department University of Conneticut.
Topologically-Aware Overlay Construction and Sever Selection Sylvia Ratnasamy, Mark Handley, Richard Karp, Scott Shenker.
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
Peer-to-Peer Networks 03 CAN (Content Addressable Network) Christian Schindelhauer Technical Faculty Computer-Networks and Telematics University of Freiburg.
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
Two Peer-to-Peer Networking Approaches Ken Calvert Net Seminar, 23 October 2001 Note: Many slides “borrowed” from S. Ratnasamy’s Qualifying Exam talk.
1 Distributed Hash Tables and Structured P2P Systems Ningfang Mi September 27, 2004.
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
1 Plaxton Routing. 2 History Greg Plaxton, Rajmohan Rajaraman, Andrea Richa. Accessing nearby copies of replicated objects, SPAA 1997 Used in several.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004.
Distributed Hash Tables
Accessing nearby copies of replicated objects
A Scalable content-addressable network
CONTENT ADDRESSABLE NETWORK
A Scalable, Content-Addressable Network
Reading Report 11 Yin Chen 1 Apr 2004
A Scalable Content Addressable Network
A Scalable, Content-Addressable Network
MIT LCS Proceedings of the 2001 ACM SIGCOMM Conference
Presentation transcript:

CSCI 599: Beyond Web Browsers Professor Shahram Ghandeharizadeh Computer Science Department Los Angeles, CA 90089

QUIZ 1: 1. When you register your with Google, Google s you a key that must be included with each request to their web methods. (True) 2. The Google web service API can be invoked using ASP.NET (True) 3. Once a client caches the results of a Google search, Google will invalidate this client’s cache when it detects updates to its information system. (False) 4. Napster employed a central server to store the index of all files available for download by a client. (True) 5. CAN assumes nodes that insert (key,value) pairs will periodically refresh their inserted entries. (True)

A Scalable Content Addressable Network (CAN) by S. Ratnsmy, P. Francis, M. Handley, R. Karp, S. Shenker.

CAN CAN is composed of individual nodes. CAN is composed of individual nodes. CAN employs a hash function to insert, lookup, and delete (key,value) pairs. CAN employs a hash function to insert, lookup, and delete (key,value) pairs. A node stores a chunk, termed a zone, of the entire hash table. A node stores a chunk, termed a zone, of the entire hash table. A node maintains information about its neighboring nodes. A node maintains information about its neighboring nodes.

EXAMPLE HASH FUNCTION A two dimensional hash function: A two dimensional hash function: h(K) = a 6 bit unsigned integer h(K) = a 6 bit unsigned integer The low three and high three bits form the 2 dimensions of a hash index. The low three and high three bits form the 2 dimensions of a hash index.  e.g., h(“Thriller”) =  Low 3 bits = 011  High 3 bits = 111 Three bits range in value from 0 (000) to 7 (111) Three bits range in value from 0 (000) to 7 (111)

ADDRESS SPACE A 2 dimensional address space, can be partitioned across 64 nodes A 2 dimensional address space, can be partitioned across 64 nodes High bits Low bits

EXAMPLE A 2 dimensional space partitioned across six nodes A 2 dimensional space partitioned across six nodes High bits Low bits

EXAMPLE (CONT…) h(“Thriller”) = = (111, 011) = node 6 h(“Thriller”) = = (111, 011) = node High bits Low bits

NEIGHBORS Two nodes are neighbors if their coordinate spans overlap along d-1 dimensions and about along one dimension. Two nodes are neighbors if their coordinate spans overlap along d-1 dimensions and about along one dimension

NEIGHBORS (CONT…) 3’s neighbors: 3’s neighbors:

NEIGHBORS (CONT…) 5 is not 3’s neighbor because it does not overlap along one dimension; it only abuts along two dimensions. 5 is not 3’s neighbor because it does not overlap along one dimension; it only abuts along two dimensions

NEIGHBORS (CONT…) The coordinate space is a d-torus, it wraps. Example, 5’s neighbors: The coordinate space is a d-torus, it wraps. Example, 5’s neighbors:

NEIGHBORS (CONT…) A node maintains information about its neighbors in order to route a lookup, insert, and delete: A node maintains information about its neighbors in order to route a lookup, insert, and delete:

NODE ADDRESSING CAN has an associated DNS domain name that resolves to the IP address of one or more CAN bootstrap nodes. CAN has an associated DNS domain name that resolves to the IP address of one or more CAN bootstrap nodes. A bootstrap node maintains a partial list of CAN nodes it believes are currently in the system. A bootstrap node maintains a partial list of CAN nodes it believes are currently in the system. A request is routed to one of these nodes. A request is routed to one of these nodes. The contacted node applies the hash function and routes the request towards its target destination (using information about its neighbors). The contacted node applies the hash function and routes the request towards its target destination (using information about its neighbors).

EXAMPLE A client looks up “Fragile”, h(“Fragile”) = , (4,2) by contacting N5 (7,0). A client looks up “Fragile”, h(“Fragile”) = , (4,2) by contacting N5 (7,0). Reduce the y-value (high-bits) from 7 to 4, Increase x-value (low bits) from 0 to 2 Reduce the y-value (high-bits) from 7 to 4, Increase x-value (low bits) from 0 to High bits Low bits

EXAMPLE A client looks up “Fragile”, h(“Fragile”) = , by contacting N5. A client looks up “Fragile”, h(“Fragile”) = , by contacting N High bits Low bits

EXAMPLE A client looks up “Fragile”, h(“Fragile”) = , by contacting N5. A client looks up “Fragile”, h(“Fragile”) = , by contacting N High bits Low bits

EXAMPLE A client looks up “Hey bebe!”, h(“Hey bebe!”) = , by contacting N5; how is the request routed? A client looks up “Hey bebe!”, h(“Hey bebe!”) = , by contacting N5; how is the request routed? High bits Low bits

OBSERVATIONS Observation 1: Observation 1:  In a d-dimensional space, each node has 2d neighbors.  A node maintains information about its neighbors.  Thus, one may grow the number of nodes without increasing the node state. Observation 2: Observation 2:  The average path length grows as O(n 1/d ) as a function of the number of nodes, n. Observation 3: Observation 3:  The path length is O(d n 1/d ) hops for d dimensions and n nodes

NUMBER OF DIMENSIONS Figure 4 Figure 4  Substantial improvement with going from d=2 to 4. Beyond 4, the percentage improvement levels off.  This same observation is shown in Figure 6.

NEW NODE CAN incorporates a new node, say N7, as follows: CAN incorporates a new node, say N7, as follows:  N7 must find a CAN node.  N7 randomly chooses a point P that maps to a node, say N1, and sends it a join request. N7’s zone will be partitioned between N7 and N1.  N1 splits is zone in half, retains one half and handles the other half to N7.  N7 identifies its neighbors.  Neighbors of N1 are notified to include N7 for routing.

NEW NODE (Cont…) Zone belonging to N1 is partitioned between N1 and N7 Zone belonging to N1 is partitioned between N1 and N High bits Low bits 7

Questions & Answers

NODE REMOVAL (FAILURE)

IMPROVEMENTS Categories of improvements: Categories of improvements:  Replication: reduce path length  Multiple realities: additional state information (Sec 3.2)  Multiple hash functions (Sec 3.5)  MAX replica based: additional state information (Sec 3.4)  Routing of requests: reduce path latency  Route requests to a candidate neighbor with minimum RTT: additional state information (3.3)  Assignment of nodes to zones  Uniform partitioning of space (3.7): load balancing  Topologically close nodes are assigned to the same zone (3.6): reduce path latency

IMPROVEMENTS A matrix perspective (missing: data caching) A matrix perspective (missing: data caching) One may consider a combination, e.g., data placement & replication One may consider a combination, e.g., data placement & replication Reduce path length Reduce path latency Load balancing Replication Better Routing Data placement

REPLICATION: MULTIPLE REALITIES Maintain multiple, independent coordinate spaces. Maintain multiple, independent coordinate spaces. Each node is assigned a different zone in each coordinate space. Each node is assigned a different zone in each coordinate space. Here are two realities: Here are two realities: Reality-1Reality-2

MULTIPLE REALITIES Replication increases availability of data in the presence of failures Replication increases availability of data in the presence of failures Figure 5 Figure 5  The benefit (percentage improvement) with 2 and 3 realities is substantial. It levels off with 4 or more realities. Figure 6 Figure 6  Number of neighbors is fixed on the x-axis with both (a) d=2&r=varying, and (b) d=varying&r=2  To improve routing efficiency, multiple dimensions is more beneficial than increasing the number of realities (given the same amount of space).  Qualitatively: additional realities provide a higher degree of data availability (in the presence of failures).  Notice the knee of both curves in Figure 6 (impact of realities & dimensions is marginal beyond a certain point).

REPLICATION: MULTIPLE HASH FUNCTION Use k different hash functions to map a single key to k different points in the coordinate space. Use k different hash functions to map a single key to k different points in the coordinate space. This results in 0 to k replicas of a single key. In case of collisions to a single zone do not construct replicas. This results in 0 to k replicas of a single key. In case of collisions to a single zone do not construct replicas. With a lookup, retrieve the entry from the closest node. (Retrieve the node from all the k potential targets, consuming more bandwidth.) With a lookup, retrieve the entry from the closest node. (Retrieve the node from all the k potential targets, consuming more bandwidth.) Figure 7 Figure 7

CONTROLLED REPLICATION Multiple nodes share the same zone. Multiple nodes share the same zone.  These nodes are termed peers. MAXPEERS is a system parameter to control the number of replicas. MAXPEERS is a system parameter to control the number of replicas. Logically, a node has 2d(MAXPEERS) neighbors Logically, a node has 2d(MAXPEERS) neighbors To maintain a fixed amount of state information per node: To maintain a fixed amount of state information per node:  A node selects one neighbor from amongst the peers in each of its neighboring zones.

CONTROLLED REPLICATION Neighbor selection: Neighbor selection:  Periodically, a node request its coordinate neighbor to transmit its peer list  Measure the RTT to all nodes in its neighboring zone  Retain the node with the lowest RTT as its neighbor Replication: Replication:  Increases data availability  Improves performance: path length, path latency, and load balancing  Increases update overhead

CONTROLLED REPLICATION Table 2: per-hop latency Table 2: per-hop latency MAXPEERS Relative % Improvement

Questions & Answers

BETER ROUTING Standard routing metric: Progress towards the destintion in terms of the Cartesian distance. Standard routing metric: Progress towards the destintion in terms of the Cartesian distance. Better routing: Better routing:  Each node measures the network-level round-trip-time (RTT) to each of its neighbors  For a given destination, a message is forwarded to the neighbor with the max(progress / RTT) Table 1 (20-40% improvement) Table 1 (20-40% improvement)

Questions & Answers

Topologically sensitive routing Assign zones to nodes in a manner that assigns neighboring zones to nodes that have a minimum RTT Assign zones to nodes in a manner that assigns neighboring zones to nodes that have a minimum RTT  USC’s neighboring node should be UCLA (instead of Cornell) assuming the RTT to UCLA is smaller. How? How?  Identify m well known set of machines as landmarks.  Every CAN measures its RTT to these machines and maintains a vector listing closest to farthest.  m! ordering of landmarks is possible  Partition the coordinate space into m! portions  When a new node joints, it is mapped to a portion with a matching landmark ordering

Topologically sensitive routing Assuming 3 landmarks, the Cartesian space is divided into six portions: m splits along x-axis, m-1 splits along the y-axis Assuming 3 landmarks, the Cartesian space is divided into six portions: m splits along x-axis, m-1 splits along the y-axis High bits Low bits

Topologically sensitive routing Figure 8: Figure 8:  4 landmarks with a minimum hop distance of 5  Latency stretch = CAN network latency  average IP network latency  (2-d with landmark ordering) out performs (4-d without landmark ordering)

Questions & Answers