Distributed Information Processing

Similar documents
CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

Slides for Chapter 10: Peer-to-Peer Systems. From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design

Slides for Chapter 10: Peer-to-Peer Systems

Chapter 10: Peer-to-Peer Systems

Distributed Information Processing

Motivation for peer-to-peer

Lecture 13: P2P Distributed Systems

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 2 ARCHITECTURES

Distributed Information Processing

Architectures for Distributed Systems

Distributed Systems Peer-to-Peer Systems

Middleware and Interprocess Communication

ICT 6544 Distributed Systems Lecture 2: ARCHITECTURES

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

Chapter 2 ARCHITECTURES

Introduction to Distributed Systems

Chapter 2 ARCHITECTURES

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

Distributed Systems. peer-to-peer Johan Montelius ID2201. Distributed Systems ID2201

Distributed Systems (5DV147)

Peer-to-Peer Systems. Chapter General Characteristics

A Survey of Peer-to-Peer Content Distribution Technologies

Making Gnutella-like P2P Systems Scalable

Distributed Systems. Characteristics of Distributed Systems. Lecture Notes 1 Basic Concepts. Operating Systems. Anand Tripathi

Distributed Systems. Characteristics of Distributed Systems. Characteristics of Distributed Systems. Goals in Distributed System Designs

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

Distributed Systems: Architectural Issues

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

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today

Telecommunication Services Engineering Lab. Roch H. Glitho

Introduction to Peer-to-Peer Systems

Distributed Hash Table

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

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013

Naming in Distributed Systems

Today. Architectural Styles

Content Overlays. Nick Feamster CS 7260 March 12, 2007

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

Introduction to P2P Computing

Telematics Chapter 9: Peer-to-Peer Networks

Searching for Shared Resources: DHT in General

Searching for Shared Resources: DHT in General

PEER-TO-PEER NETWORKS, DHTS, AND CHORD

Chapter 2 ARCHITECTURES

Peer-to-peer systems

DISTRIBUTED SYSTEMS. Second Edition. Andrew S. Tanenbaum Maarten Van Steen. Vrije Universiteit Amsterdam, 7'he Netherlands PEARSON.

Distributed Knowledge Organization and Peer-to-Peer Networks

TDP3471 Distributed and Parallel Computing

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

Software Architectures

Distributed File Systems. CS432: Distributed Systems Spring 2017

Distributed Systems Principles and Paradigms

CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4. Xiaowei Yang

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016

Software Architectures

Today. Architectural Styles

Module 7 - Replication

Peer-to-Peer Internet Applications: A Review

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

Early Measurements of a Cluster-based Architecture for P2P Systems

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications

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

Opportunistic Application Flows in Sensor-based Pervasive Environments

Peer-to-peer computing research a fad?

Peer-to-Peer Networks

CS6601 DISTRIBUTED SYSTEM / 2 MARK

L3S Research Center, University of Hannover

Assignment 5. Georgia Koloniari

Chapter 10 Peer-to-Peer Systems

Middleware and Distributed Systems. Peer-to-Peer Systems. Peter Tröger

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

Peer-to-peer systems and overlay networks

Lecture 2: January 24

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

Architectures for distributed systems (Chapter 2)

Modern Technology of Internet

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Distributed and Agent Systems

INF5070 media storage and distribution systems. to-peer Systems 10/

Overlay and P2P Networks. Introduction and unstructured networks. Prof. Sasu Tarkoma

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

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS

Towards Benchmarking of P2P Technologies from a SCADA Systems Protection Perspective

(C) Chukiat Worasucheep 1

Module 8 Fault Tolerance CS655! 8-1!

Distributed Hash Tables: Chord

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

Overlay networks. Today. l Overlays networks l P2P evolution l Pastry as a routing overlay example

: Scalable Lookup

Advanced Distributed Systems. Peer to peer systems. Reference. Reference. What is P2P? Unstructured P2P Systems Structured P2P Systems

Ossification of the Internet

INF5071 Performance in distributed systems: Distribution Part III

Naming in Distributed Systems

Interprocess Communication

Symphony. Symphony. Acknowledgement. DHTs: : The Big Picture. Spectrum of DHT Protocols. Distributed Hashing in a Small World

Dynamo. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Motivation System Architecture Evaluation

Overlay networks. To do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. Turtles all the way down. q q q

A Common API for Structured Peer-to- Peer Overlays. Frank Dabek, Ben Y. Zhao, Peter Druschel, Ion Stoica

CSE 5306 Distributed Systems

An Expresway over Chord in Peer-to-Peer Systems

Module 1 - Distributed System Architectures & Models

Transcription:

Distributed Information Processing 14 th Lecture Eom, Hyeonsang ( 엄현상 ) Department of Computer Science & Engineering Seoul National University Copyrights 2016 Eom, Hyeonsang All Rights Reserved

Outline Architectures Peer-to-Peer Computing Introduction Chord Q&A

Architectures Software Architecture How Software Components Are Organized How Software Components Should Interact System Architecture Final Instantiation of a Software Architecture Important Styles of Architecture for (Autonomic) Distributed Systems Layered Architectures Object-Based Architectures Data-Centered Architectures Event-Based Architectures

Architectural Styles (a) layered architectural style Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved

Architectural Styles (Cont d) (b) The object-based architectural style Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved

Architectural Styles (Cont d) (a) The event-based architectural style Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved

Architectural Styles (Cont d) (b) The shared data-space architectural style Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved

System Architectures Centralized Architecture Clients That Request Services from Servers Support for Vertical Distribution Placing different components on different machines Decentralized Architecture Process Being a Client and a Server Support for Horizontal Distribution Spitting up a client or server physically into logically equivalent parts with each part operating on its own share of data set

Peer-to-Peer Architectures Overlay Network Network in which the nodes are formed by the processes and the links represent the possible communication channels Structured P2P Architecture Overlay network is Constructed using a deterministic procedure Distributed Hash Table (DHT) Unstructured P2P Architecture Overlay network is Constructed using a random algorithm

Centralized Architectures General interaction between a client and a server Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved

Application Layering Following Layered Architectural Style User-Interface Level Processing Level Data level

Application Layering (Cont d) The simplified organization of an Internet search engine into three different layers Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved

Multitiered Architectures The simplest organization is to have only two types of machines: A client machine containing only the programs implementing (part of) the user-interface level A server machine containing the rest, the programs implementing the processing and data level Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved

Multitiered Architectures (Cont d) Alternative client-server organizations (a) (e) Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved

Multitiered Architectures (Cont d) An example of a server acting as client Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved

Structured Peer-to-Peer Architectures The mapping of data items onto nodes in Chord Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved

Structured Peer-to-Peer Architectures (Cont d) The mapping of data items onto nodes in CAN Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved

Peer-to-Peer (P2P) Computing Definition Computing by Sharing Data & Resources on a Very Large Scale w/o Server Requirements Important Characteristics Each Node s Resource Contribution Same Functional Capabilities & Responsibilities of Nodes No Central Administration Limited Degree of Anonymity Unpredictable Availability Fault Tolerance Key Issue: Efficient Data Placement & Access

1st-Generation P2P Systems File Sharing and Storage Applications Napster Music Exchange Service Use of central servers to locate files Gnutella Distributed service using scoped broadcast queries Main Problem: Limited Scalability or No Guarantee That Files Can Be Located

2nd-Generation P2P Systems Middleware Application-Independent Management of Distributed Resources on a Global Scale Routing Overlay for locating nodes and objects Scalable Load balanced Adaptive to network dynamics Fault tolerant Efficiently discovering Secure Using Randomly Distributed Keys to Determine the Placement of Objects and to Retrieve Them Implementing Key-Based Routing (KBR) Interface: Routing of Messages to a Live Node Responsible for the Destination Key

IP vs Overlay Routing IP Application- level routing overlay Scale Load balancing Network dynamics (addition/deletion of objects/nodes) Fault tolerance Target identification Security and anonymity IPv4 is limited to2^32 addressable nodes. The IPv6 name space is much more generous (2^128 ), but addresses in both versions are hierarch ically structured and much of the space is pre- allocated according to administrative requirements. Loads on routers are determined by network topology and associated traffic patterns. IP routing tables are updated asynchronously on a best- efforts basis with time constants on the order of 1 hour. Redundancy is designed into the IP network by its managers, ensuring tolerance of a single router or network connectivity failure. n-fold replication is costly. Each IP address maps to exactly one target node. Addressing is only secure when all nodes are trusted. Anonymity for the owners of addresses is not achievable. Peer-to- peer systems can address more objects. The GUID name space is very large and flat (>2^128 ), allowing it to be much more fully occupied. Object locations can be randomized and hence traffic patterns are divorced from the network topology. Routing tables can be updated synchronously or asynchronously with fractions of a second delays. Routes and object references can be replicated n- fold, ensuring tolerance of n failures of nodes or connections. Messages can be routed to the nearest replica of a target object. Security can be achieved even in environments with limited trust. A limited degree of anonymity can be provided. Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 Pearson Education 2005

Structured P2P Overlay Networks Supporting Higher-Level Interfaces Distributed Hash Table (DHT) Basic Interface: put(), get(), remove() E.g., Pastry Distributed Object Location & Routing (DOLR) Basic Interface: publish(), unpublish(), routetoobject() E.g., Tapestry Ignoring/Considering Network Distances Shortest Overlay-Hop Routing E.g., Chord Locally Optimal Routing E.g., Tapestry

Chord Protocol [Keifer03] Simple Key Location

Cord Protocol (Cont d) Scalable Key Location

Cord Protocol (Cont d) Scalable Key Location Is This Necessary?

Cord Protocol (Cont d) Node Joining/Leaving

Cord Protocol (Cont d) Properties of Chord Load Balance Acting as a Distributed Hash Function Decentralization Fully distributed Scalability Lookup cost growing as the log of # of nodes Availability Enabling the node responsible for a key to be found via automatic internal-table adjustment Flexible naming Using flat key-space

Reference [Keifer03] C. Keifer, Cord: A Scalable Peer-to-Peer Look-Up Protocol for Internet Applications (by R. Morris, et al), Writeup, Department of Computer Science, Saarland University, November 2002