Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications

Similar documents
Chord: A Scalable Peer-to-peer Lookup Service For Internet Applications

Finding Data in the Cloud using Distributed Hash Tables (Chord) IBM Haifa Research Storage Systems

Chord : A Scalable Peer-to-Peer Lookup Protocol for Internet Applications

Finding Data in the Cloud using Distributed Hash Tables (Chord) IBM Haifa Research Storage Systems

Scalability In Peer-to-Peer Systems. Presented by Stavros Nikolaou

P2P: Distributed Hash Tables

CSE 486/586 Distributed Systems

Distributed Hash Tables

Distributed File Systems: An Overview of Peer-to-Peer Architectures. Distributed File Systems

Ch06. NoSQL Part III.

CS535 Big Data Fall 2017 Colorado State University 11/7/2017 Sangmi Lee Pallickara Week 12- A.

CPSC 426/526. P2P Lookup Service. Ennan Zhai. Computer Science Department Yale University

Distributed Hash Table

DISTRIBUTED SYSTEMS CSCI 4963/ /4/2015

: Scalable Lookup

Content Overlays. Nick Feamster CS 7260 March 12, 2007

A Framework for Peer-To-Peer Lookup Services based on k-ary search

March 10, Distributed Hash-based Lookup. for Peer-to-Peer Systems. Sandeep Shelke Shrirang Shirodkar MTech I CSE

Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications

L3S Research Center, University of Hannover

Semester Thesis on Chord/CFS: Towards Compatibility with Firewalls and a Keyword Search

Simulations of Chord and Freenet Peer-to-Peer Networking Protocols Mid-Term Report

Lecture 15 October 31

L3S Research Center, University of Hannover

Peer to Peer I II 1 CS 138. Copyright 2015 Thomas W. Doeppner, Rodrigo Fonseca. All rights reserved.

Chapter 6 PEER-TO-PEER COMPUTING

P2P Network Structured Networks: Distributed Hash Tables. Pedro García López Universitat Rovira I Virgili

LECT-05, S-1 FP2P, Javed I.

Peer-to-Peer (P2P) Distributed Storage. Dennis Kafura CS5204 Operating Systems

CS 347 Parallel and Distributed Data Processing

Back-Up Chord: Chord Ring Recovery Protocol for P2P File Sharing over MANETs

Peer-to-Peer (P2P) Systems

P2P Network Structured Networks: Distributed Hash Tables. Pedro García López Universitat Rovira I Virgili

Overlay and P2P Networks. Structured Networks and DHTs. Prof. Sasu Tarkoma

Diminished Chord: A Protocol for Heterogeneous Subgroup Formation in Peer-to-Peer Networks

Effect of Links on DHT Routing Algorithms 1

CS514: Intermediate Course in Computer Systems

DATA. The main challenge in P2P computing is to design and implement LOOKING UP. in P2P Systems

11/12/2018 Week 13-A Sangmi Lee Pallickara. CS435 Introduction to Big Data FALL 2018 Colorado State University

Content Overlays (continued) Nick Feamster CS 7260 March 26, 2007

Dorina Luminiţa COPACI, Constantin Alin COPACI

Fault Resilience of Structured P2P Systems

EFFICIENT ROUTING OF LOAD BALANCING IN GRID COMPUTING

A Structured Overlay for Non-uniform Node Identifier Distribution Based on Flexible Routing Tables

Topics in P2P Networked Systems

Searching for Shared Resources: DHT in General

Searching for Shared Resources: DHT in General

08 Distributed Hash Tables

Diminished Chord: A Protocol for Heterogeneous Subgroup Formation in Peer-to-Peer Networks

CSE 124 Finding objects in distributed systems: Distributed hash tables and consistent hashing. March 8, 2016 Prof. George Porter

Quasi-Chord: physical topology aware structured P2P network

Distributed Hash Tables: Chord

Distributed Hash Tables Chord and Dynamo

12/5/16. Peer to Peer Systems. Peer-to-peer - definitions. Client-Server vs. Peer-to-peer. P2P use case file sharing. Topics

Tracking Objects in Distributed Systems. Distributed Systems

INFORMATION MANAGEMENT IN MOBILE AD HOC NETWORKS

Structured Peer-to-Peer Networks

Peer to peer systems: An overview

Understanding Chord Performance

DISTRIBUTED HASH TABLE PROTOCOL DETECTION IN WIRELESS SENSOR NETWORKS

Routing Protocols of Distributed Hash Table Based Peer to Peer Networks

Distributed Meta-data Servers: Architecture and Design. Sarah Sharafkandi David H.C. Du DISC

Building a low-latency, proximity-aware DHT-based P2P network

Using Linearization for Global Consistency in SSR

EE 122: Peer-to-Peer (P2P) Networks. Ion Stoica November 27, 2002

Visited Node) which modifies the original Chord s finger table by adding a new column which stores the ID of Recently visited node.

Architectures for Distributed Systems

Structured P2P. Complexity O(log N)

Relaxing Routing Table to Alleviate Dynamism in P2P Systems

ProRenaTa: Proactive and Reactive Tuning to Scale a Distributed Storage System

Some of the peer-to-peer systems take distribution to an extreme, often for reasons other than technical.

Decentralized Object Location In Dynamic Peer-to-Peer Distributed Systems

Athens University of Economics and Business. Dept. of Informatics

Routing Table Construction Method Solely Based on Query Flows for Structured Overlays

Lecture 6: Overlay Networks. CS 598: Advanced Internetworking Matthew Caesar February 15, 2011

NodeId Verification Method against Routing Table Poisoning Attack in Chord DHT

Detecting and Recovering from Overlay Routing. Distributed Hash Tables. MS Thesis Defense Keith Needels March 20, 2009

Last Time. CSE 486/586 Distributed Systems Distributed Hash Tables. What We Want. Today s Question. What We Want. What We Don t Want C 1

Securing Chord for ShadowWalker. Nandit Tiku Department of Computer Science University of Illinois at Urbana-Champaign

C 1. Last Time. CSE 486/586 Distributed Systems Distributed Hash Tables. Today s Question. What We Want. What We Want. What We Don t Want

A Survey of Peer-to-Peer Content Distribution Technologies

PEER-TO-PEER NETWORKS, DHTS, AND CHORD

Advanced Computer Networks

Introduction to P2P Computing

CRESCENDO GEORGE S. NOMIKOS. Advisor: Dr. George Xylomenos

Mill: Scalable Area Management for P2P Network based on Geographical Location

IMPLEMENTING P2P RESOURCE SHARING APPLICATIONS IN WIRELESS MESH NETWORKS

Dynamic Load Sharing in Peer-to-Peer Systems: When some Peers are more Equal than Others

Degree Optimal Deterministic Routing for P2P Systems

Providing File Services using a Distributed Hash Table

INF5071 Performance in distributed systems: Distribution Part III

Analyzing the Chord Peer-to-Peer Network for Power Grid Applications

A Survey of Peer-to-Peer Systems

CS 223 Final Project CuckooRings: A Data Structure for Reducing Maximum Load in Consistent Hashing

Distributed hash table - Wikipedia, the free encyclopedia

CSE-E5430 Scalable Cloud Computing Lecture 10

PEER-TO-PEER (P2P) systems are now one of the most

Goals. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Solution. Overlay Networks: Motivations.

Peer-to-Peer Systems and Distributed Hash Tables

Overlay and P2P Networks. Structured Networks and DHTs. Prof. Sasu Tarkoma

Transcription:

Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented by Veranika Liaukevich Jacobs University Bremen May 14, 2014 Veranika Liaukevich (Jacobs University) Chord: Scalable Peer-to-peer Lookup Service May 14, 2014 1 / 18

Introduction Problem: efficient location of data items in peer-to-peer systems Chord builds a distributed hash table and provides only one operation: given a key, it maps it onto a node, responsible for this key. The communication costs scale logarithmically with the number of Chord nodes. Veranika Liaukevich (Jacobs University) Chord: Scalable Peer-to-peer Lookup Service May 14, 2014 2 / 18

Chord features Load balance Decentralization Scalability each node stores information about O(log N) nodes lookups are resolved in O(log N) messages nodes joins and leaves result in O(log 2 N) messages in the network Availability Flexible naming Provable correctness and performance Veranika Liaukevich (Jacobs University) Chord: Scalable Peer-to-peer Lookup Service May 14, 2014 3 / 18

Consistent Hashing There are nodes and keys in a system. Each node and each key are mapped into m-bit identifiers. The identifiers universe is represented as a circle with 2 m points. So each node and each key are represented as points on the circle. 6 7 5 0 4 Identifiers circle with m = 3. Nodes are marked as circles, keys are marked as squares. 1 3 2 Veranika Liaukevich (Jacobs University) Chord: Scalable Peer-to-peer Lookup Service May 14, 2014 4 / 18

Consistent Hashing The key k is assigned to the first node whose point it encounters moving clockwise from the key s point, denoted by successor(k). 6 7 0 1 2 When a node joins or leaves the network, only part of keys are reassigned. 5 4 3 Veranika Liaukevich (Jacobs University) Chord: Scalable Peer-to-peer Lookup Service May 14, 2014 5 / 18

Consistent Hashing: Properties For mapping nodes and keys into identifiers k-universal hash function must be used to ensure uniform distribution of identifiers. For any set of N nodes and K keys, with high probability: Each node is responsible for at most (1 + ɛ)k/n keys, where ɛ = O(log N). When an (N + 1)-st node joins/leaves, O(K/N) keys are reassigned to/from the joining/leaving node. Veranika Liaukevich (Jacobs University) Chord: Scalable Peer-to-peer Lookup Service May 14, 2014 6 / 18

The Base Chord Protocol Chord provides fast distributed computation of a consistent hash function mapping keys to nodes responsible for them. SHA-1 is used for mapping keys and nodes to identifiers, thus making the protocol deterministic. The base protocol specifies how to locate a key how node joins the network The base protocol doesn t support concurrent joins or failures. Veranika Liaukevich (Jacobs University) Chord: Scalable Peer-to-peer Lookup Service May 14, 2014 7 / 18

Chord: denotations Notation Definition m number of bits in identifiers successor the next node on the identifier circle predecessor the previous node on the circle finger table routing table with at most m records finger[k].start (n + 2 k 1 ) mod 2 m finger[k].node first node n.finger[k].start finger[k].interval [finger[k].start, finger[k + 1].start) Veranika Liaukevich (Jacobs University) Chord: Scalable Peer-to-peer Lookup Service May 14, 2014 8 / 18

Finger tables Finger tables, finger intervals and key locations in a network. Veranika Liaukevich (Jacobs University) Chord: Scalable Peer-to-peer Lookup Service May 14, 2014 9 / 18

Key location To resolve a lookup query for an identifier id we inspect at most O(log N) nodes on the circle approaching the resulting node clockwise. n.closest preceding finger(id) Finds the closest node preceding id among fingers in the n s node table. n.find predecessor(id) Finds id s predecessor by series of calls to closest preceding finger. n.find successor(id) successor(id) = successor(predecessor(id)) Veranika Liaukevich (Jacobs University) Chord: Scalable Peer-to-peer Lookup Service May 14, 2014 10 / 18

Invariants Invariants, preserved by Chord: Each node s successor is correctly maintained. For every key k, node successor(k) is responsible for k. With such invariants we can perform lookups correctly. To perform lookups fast, the correct finger tables are needed. For simplification each node also stores a predecessor pointer. Veranika Liaukevich (Jacobs University) Chord: Scalable Peer-to-peer Lookup Service May 14, 2014 11 / 18

Node Joins New node n learns an existing Chord node n by some external mechanism, and uses it for adding itself to the network. When a node n joins the network... Initialize its predecessor and fingers table in O(log N) messages. Update the fingers and predecessors of existing nodes in O(log 2 N) messages. Transfer data associated with keys. Veranika Liaukevich (Jacobs University) Chord: Scalable Peer-to-peer Lookup Service May 14, 2014 12 / 18

Lookups in an unstable network Possible situations during lookups: If all involved finger tables are correct, the successor is found in O(log N) steps. If successor pointers are correct, the successor could be found in O(N) steps. If successor pointers are incorrect or data haven t migrated yet, the lookup cannot be performed. Veranika Liaukevich (Jacobs University) Chord: Scalable Peer-to-peer Lookup Service May 14, 2014 13 / 18

Stabilization Idea: separate correctness and performance goals. Basic stabilization algorithm updates only successor pointers. Every node periodically runs stabilize to check correctness of its successor pointer. Every node periodically runs fix fingers to refresh its finger table. At some time after the last join all successor pointers will be correct. As long as time needed to adjust fingers is less than the time it takes the network to double in size, lookups continue to take O(log N). Veranika Liaukevich (Jacobs University) Chord: Scalable Peer-to-peer Lookup Service May 14, 2014 14 / 18

Failures and Replication For faster recovery after some node s failure, each node maintains a list of its r nearest successors. This list could be used to update the higher layer application when successors come and go. The list also helps in data replication, as typically each key k is replicated at its next p successors. Veranika Liaukevich (Jacobs University) Chord: Scalable Peer-to-peer Lookup Service May 14, 2014 15 / 18

Conclusions Chord is a decentralized lookup protocol. Given a key, it efficiently determines the node responsible for this key. Chord scales well with the number of nodes, recovers from large numbers of simultaneous node failures and joins, and answers most lookups correctly even during recovery. The correctness and performance of the protocol are provable. Veranika Liaukevich (Jacobs University) Chord: Scalable Peer-to-peer Lookup Service May 14, 2014 16 / 18

Questions? Veranika Liaukevich (Jacobs University) Chord: Scalable Peer-to-peer Lookup Service May 14, 2014 17 / 18

References [1] Stoica, Ion and Morris, Robert and Karger, David and Kaashoek, M Frans and Balakrishnan, Hari (2001) Chord: A scalable peer-to-peer lookup service for internet applications ACM SIGCOMM Computer Communication Review, 31(4), 149 160. [2] Karger, David and Sherman, Alex and Berkheimer, Andy and Bogstad, Bill and Dhanidina, Rizwan and Iwamoto, Ken and Kim, Brian and Matkins, Luke and Yerushalmi, Yoav (1999) Web caching with consistent hashing Computer Networks 31(11), 1203 1213, Elsevier. Veranika Liaukevich (Jacobs University) Chord: Scalable Peer-to-peer Lookup Service May 14, 2014 18 / 18