ICT 6544 Distributed Systems Lecture 2: ARCHITECTURES

Similar documents
Chapter 2 ARCHITECTURES

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

Distributed Systems: Architectural Issues

Chapter 2 ARCHITECTURES

Chapter 2 ARCHITECTURES

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

Today. Architectural Styles

Today. Architectural Styles

Architectures for distributed systems (Chapter 2)

Chapter 2 ARCHITECTURES

Architectures for Distributed Systems

Software Architectures

Distributed Information Processing

Distributed Systems Principles and Paradigms

Software Architectures

Distributed Systems Architectures

Lecture 2: January 24

TDP3471 Distributed and Parallel Computing

Peer-to-Peer Systems. Chapter General Characteristics

Telecommunication Services Engineering Lab. Roch H. Glitho

Peer-to-Peer Internet Applications: A Review

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

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

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

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

Introduction to Distributed Systems

A Survey of Peer-to-Peer Content Distribution Technologies

LECTURE 3: CONCURRENT & DISTRIBUTED ARCHITECTURES

6. Peer-to-peer (P2P) networks I.

Unit 8 Peer-to-Peer Networking

CS 3516: Advanced Computer Networks

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

Client Server & Distributed System. A Basic Introduction

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

Introduction to Peer-to-Peer Systems

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

Chapter 16 Networking

DISTRIBUTED SYSTEMS PRINCIPLES AND PARADIGMS

Fast Topology Management in Large Overlay Networks

Distributed Hash Table

CS 347 Parallel and Distributed Data Processing

Peer to Peer Networks

Minimizing Churn in Distributed Systems

Making Gnutella-like P2P Systems Scalable

An Architecture for Peer-to-Peer Information Retrieval

CS 43: Computer Networks BitTorrent & Content Distribution. Kevin Webb Swarthmore College September 28, 2017

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

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

Dr. Jack Lange Computer Science Department University of Pittsburgh. Fall Distributed System Definition. A distributed system is

Lecture 13: P2P Distributed Systems

Assignment 5. Georgia Koloniari

Peer-To-Peer Techniques

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing

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

Telematics Chapter 9: Peer-to-Peer Networks

DHT Optimizations for mobile devices. Seminar Mobile Systems Supervisor: Thomas Bocek Student: Dario Nakic

Chapter 2: Application layer

Searching for Shared Resources: DHT in General

Peer to Peer Networks

Distributed Systems. Prof. Dr. Schahram Dustdar Distributed Systems Group Vienna University of Technology. dsg.tuwien.ac.

CPSC 536N: Randomized Algorithms Term 2. Lecture 4

Searching for Shared Resources: DHT in General

PeerfactSim.KOM: A Simulation Framework for Peer-to-Peer Systems

DISTRIBUTED SYSTEMS CSCI 4963/ /4/2015

Modern Technology of Internet

An Optimal Overlay Topology for Routing Peer-to-Peer Searches

Peer-to-peer systems and overlay networks

A Scalable Content- Addressable Network

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

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

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

Scalable overlay Networks

CS 43: Computer Networks. 14: DHTs and CDNs October 3, 2018

CMSC 332 Computer Networks P2P and Sockets

Web caches (proxy server) Applications (part 3) Applications (part 3) Caching example (1) More about Web caching

Distributed hash table - Wikipedia, the free encyclopedia

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

Using peer to peer. Marco Danelutto Dept. Computer Science University of Pisa

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

P2P Applications. Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza

Distributed Systems. Prof. Dr. Schahram Dustdar Distributed Systems Group Vienna University of Technology. dsg.tuwien.ac.

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

Internet Technology. 06. Exam 1 Review Paul Krzyzanowski. Rutgers University. Spring 2016

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

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

Software Architecture

Internet Technology 3/2/2016

Slides for Chapter 10: Peer-to-Peer Systems

Distributed Systems. The main method of distributed object communication is with remote method invocation

Content Search. Unstructured P2P

Chapter 6 Synchronization (2)

Chapter 2 Architectures. Software Architectures

Three Layer Hierarchical Model for Chord

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

Outline A Hierarchical P2P Architecture and an Efficient Flooding Algorithm

GNUnet Distributed Data Storage

Peer-to-peer systems

Distributed Systems. Today. Next. Distributed systems The class Models and architectures. A brief, gentle intro to Go

Content Search. Unstructured P2P. Jukka K. Nurminen

Improving Information Retrieval Effectiveness in Peer-to-Peer Networks through Query Piggybacking

Transcription:

ICT 6544 Distributed Systems Lecture 2: ARCHITECTURES Hossen Asiful Mustafa 1

Introduction Distributed systems are often complex pieces of software of which the components are by definition dispersed across multiple machines and communicates via a connector A component is a modular unit with well-defined required and provided interfaces that is replaceable within its environment A component for distributed systems can be replaced, provided we respect its interfaces. A connector is a mechanism that mediates communication, coordination, or cooperation among components 2

Architectural Styles (1) Four important styles of architecture for distributed systems Layered architectures Object-based architectures Data-centered architectures Event-based architectures 3

Architectural Styles (2) Figure 2-1. The (a) layered architectural style and 4

Architectural Styles (3) Figure 2-1. (b) The object-based architectural style. 5

Architectural Styles (4) Figure 2-2. (a) The event-based architectural style and 6

Architectural Styles (5) Figure 2-2. (b) The shared data-space architectural style. 7

SYSTEM ARCHITECTURES 8

Centralized Architectures (1) Figure 2-3. General interaction between a client and a server. 9

Centralized Architectures (2) Most common architecture used Connectionless protocol, e.g., UDP, can be used in reliable network Connection-oriented protocol, e.g., TCP/IP, are used in general Example: BUET Website 10

Application Layering (1) Recall previously mentioned layers of architectural style The user-interface level The processing level The data level 11

Application Layering (2) Figure 2-4. The simplified organization of an Internet search engine into three different layers. 12

Multitiered Architectures (1) The simplest organization is to have only two types of machines: A client machine containing only the programs implementing (part of) the userinterface level A server machine containing the rest, the programs implementing the processing and data level 13

Multitiered Architectures (2) Figure 2-5. Alternative client-server organizations (a) (e). 14

Multitiered Architectures (3) Figure 2-6. An example of a server acting as client. 15

Multitiered Architectures (4) Applications are divided into a user-interface, processing components, and a data level Distributed processing is equivalent to organizing a clientserver application as a multi-tiered architecture This type of multi-tiered architecture is known as vertical distribution The characteristic feature of vertical distribution is that it is achieved by placing logically different components on different machines. 16

Decentralized Architectures Decentralized Architectures uses horizontal distribution In horizontal distribution, a client or server may be physically split up into logically equivalent parts, but each part is operating on its own share of the complete data set, thus balancing the load. Peer-to-peer in an example of horizontal distribution Each peer will act as a client and a server at the same time An overlay network is the which the nodes are formed by the processes and the links represent the possible communication channels 17

Structured Peer-to-Peer Architectures (1) The overlay network is constructed using a deterministic procedure. The most-used procedure is to organize the processes through a distributed hash table (DHT). In a DHT -based system, data items are assigned a random key from a large identifier space, such as a 128-bit or 160-bit identifier. Likewise, nodes in the system are also assigned a random number from the same identifier space An efficient and deterministic scheme is used that uniquely maps the key of a data item to the identifier of a node 18

Structured Peer-to-Peer Architectures (2) Figure 2-7. The mapping of data items onto nodes in Chord. 19

Structured Peer-to-Peer Architectures (3) Figure 2-8. (a) The mapping of data items onto nodes in CAN. 20

Structured Peer-to-Peer Architectures (3) Figure 2-8. (b) Splitting a region when a node joins. 21

Unstructured Peer-to-Peer Architectures (1) Largely rely on randomized algorithms for constructing an overlay network. The main idea is that each node maintains a list of neighbors, but that this list is constructed in a more or less random way. Data items are assumed to be randomly placed on nodes. When a node needs to locate a specific data item, the only thing it can effectively do is flood the network with a search query 22

Unstructured Peer-to-Peer Architectures (1) Figure 2-9. (a) The steps taken by the active thread. 23

Unstructured Peer-to-Peer Architectures (2) Figure 2-9. (b) The steps take by the passive thread 24

Topology Management of Overlay Networks (1) Figure 2-10. A two-layered approach for constructing and maintaining specific overlay topologies using techniques from unstructured peer-to-peer systems. 25

Topology Management of Overlay Networks (2) Figure 2-11. Generating a specific overlay network using a twolayered unstructured peer-to-peer system [adapted with permission from Jelasity and Babaoglu (2005)]. 26

Superpeers Figure 2-12. A hierarchical organization of nodes into a superpeer network. 27

Hybrid Architectures Combine architectural features from centralized and decentralized architecture Example Edge-Server Systems Collaborative Distributed Systems 28

Edge-Server Systems Figure 2-13. Viewing the Internet as consisting of a collection of edge servers. 29

Collaborative Distributed Systems (1) Figure 2-14. The principal working of BitTorrent [adapted with permission from Pouwelse et al. (2004)]. 30

Collaborative Distributed Systems (2) Components of Globule collaborative content distribution network: A component that can redirect client requests to other servers. A component for analyzing access patterns. A component for managing the replication of Web pages. 31

MIDDLEWARE MODEL 32

Interceptors Interceptors offers a means to adapt the middleware An object A can call a method that belongs to an object B, while the latter resides on a different machine than A. A three-step approach: 1. Object A is offered a local interface that is exactly the same as the interface offered by object B. A simply calls the method available in' that interface. 2. The call by A is transformed into a generic object invocation, made possible through a general object-invocation interface offered by the middleware at the machine where A resides. 3. Finally, the generic object invocation is transformed into a message that is sent through the transport-level network interface as offered by A's local operating system. 33

Interceptors Figure 2-15. Using interceptors to handle remote-object invocations. 34

The Feedback Control Model Figure 2-16. The logical organization of a feedback control system. 35

Example: Systems Monitoring with Astrolabe Figure 2-17. Data collection and information aggregation in Astrolabe. 36

Example: Differentiating Replication Strategies in Globule (1) Figure 2-18. The edge-server model assumed by Globule. 37

Example: Differentiating Replication Strategies in Globule (2) Figure 2-19. The dependency between prediction accuracy and trace length. 38

Example: Automatic Component Repair Management in Jade Steps required in a repair procedure: Terminate every binding between a component on a nonfaulty node, and a component on the node that just failed. Request the node manager to start and add a new node to the domain. Configure the new node with exactly the same components as those on the crashed node. Re-establish all the bindings that were previously terminated. 39