Architectures of distributed systems Fundamental Models

Slides:



Advertisements
Similar presentations
Jaringan Informasi Pengantar Sistem Terdistribusi oleh Ir. Risanuri Hidayat, M.Sc.
Advertisements

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Distributed Processing, Client/Server, and Clusters
Distributed components
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization and Design Goals Dr. Michael R. Lyu Computer.
REK’s adaptation of Prof. Claypool’s adaptation of
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Review For Midterm.
Based on last years lecture notes, used by Juha Takkinen.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Computer Science Lecture 2, page 1 CS677: Distributed OS Last Class: Introduction Distributed Systems – A collection of independent computers that appears.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Distributed Systems Fall 2009 Course introduction.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
20101 Overview Distributed systems Layers Communication is logically on the application layer Only that has to be considered except for speed,
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
.NET Mobile Application Development Remote Procedure Call.
DISTRIBUTED COMPUTING
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Client/Server Architectures
Chapter 2 Architectural Models. Keywords Middleware Interface vs. implementation Client-server models OOP.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
1 System Models. 2 Outline Introduction Architectural models Fundamental models Guideline.
Distributed Computing Class: BIT5 & 6 Instructor: Aatif Kamal Chapter 02: (part 01) Distributed System Models Dated: 7 th Sept 2006.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
1 MSCS 237 Communication issues. 2 Colouris et al. (2001): Is a system in which hardware or software components located at networked computers communicate.
Exercises for Chapter 2: System models
Distributed Systems: Concepts and Design Chapter 1 Pages
Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts & Design (5 th Ed.). Essex: Addison-Wesley.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 2 ARCHITECTURES.
Introduction Architecture Models Fundamental Models Summary Chapter 2: System Model.
Chapter 2: System Models. Objectives To provide students with conceptual models to support their study of distributed systems. To motivate the study of.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
Systems Prog. & Script. - Heriot Watt Univ 1 Systems Programming & Scripting Lecture 11: The Distributed Object Model.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
1 MSCS 237 Communication issues. 2 Colouris et al. (2001): Is a system in which hardware or software components located at networked computers communicate.
Architecture Models. Readings r Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 m Note: All figures from this book.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
Prepared By: Md Rezaul Huda Reza
D ISTRIBUTED S YSTEM UNIT-1 Prepared By: G.S.Mishra.
Client/Server Computing
ICS362 – Distributed Systems Dr. Ken Cosh Week 2.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
1 Distributed Systems Distributed Object-Based Systems Chapter 10.
Exercises for Chapter 2: System models From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Pearson Education 2005.
Distributed Computing Systems CSCI 6900/4900. Review Definition & characteristics of distributed systems Distributed system organization Design goals.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 System Models by Dr. Sarmad Sadik.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Architectural.
Distributed Systems: Concepts and Design Jinghai Rao 13,9,2000.
Lecture 13 Parallel Processing. 2 What is Parallel Computing? Traditionally software has been written for serial computation. Parallel computing is the.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Chapter 2: System Model Introduction Architecture Models
#01 Client/Server Computing
Distributed Systems Bina Ramamurthy 11/12/2018 From the CDK text.
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Architectures of distributed systems Fundamental Models
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Architectures of distributed systems Fundamental Models
COMP28112 Lecture 2 A few words about parallel computing
Architectures of distributed systems
Architectures of distributed systems Fundamental Models
Chapter 2: System models
#01 Client/Server Computing
Presentation transcript:

Architectures of distributed systems Fundamental Models COMP28112 Lecture 2 Architectures of distributed systems Fundamental Models

Architectures of Distributed Systems Tightly coupled Highly integrated machines that may look as a single computer. Loosely coupled (share nothing) Client-Server Peer-to-Peer A Key differentiation based on the Programming Interface: Distributed Objects Web Services Read “Web Services are not Distributed Objects”, Internet Computing, Nov-Dec. 2003, http://www.allthingsdistributed.com/historical/archives/000343.html 23-Apr-17 COMP28112 Lecture 3

Tightly coupled systems Distributed shared memory (DSM)provides the illusion of a single shared memory: it spares the programmer the concerns of message passing. 23-Apr-17 COMP28112 Lecture 3

Issues with Distributed Shared Memory Machines are still connected by a network: Minimize network traffic Reduce the latency between request and completion How to keep track of the location of shared data How to overcome delays when accessing remote data How to make shared data concurrently accessible Replicate shared data on multiple machines: Need memory coherence Lots of research in the context of building parallel computers – see Chapter 18 in Coulouris et al book. 23-Apr-17 COMP28112 Lecture 3

Architectural Styles (talking about loosely-coupled systems) Based on the logical organization of the components of distributed systems: Layered architectures Object-based architectures Data-centered architectures Event-based architectures 23-Apr-17 COMP28112 Lecture 3

The layered architectural style See Figure 2-1 in Tanenbaum and Van Steen book 23-Apr-17 COMP28112 Lecture 3

The object-based architectural style See Figure 2-1 in Tanenbaum and Van Steen book 23-Apr-17 COMP28112 Lecture 3

The Event-Based architectural style See Figure 2-2 in Tanenbaum and Van Steen book 23-Apr-17 COMP28112 Lecture 3

Shared-Data Space Architectural Style See Figure 2-2 in Tanenbaum and Van Steen book 23-Apr-17 COMP28112 Lecture 3

System Architectures of Distributed Systems 23-Apr-17 COMP28112 Lecture 3

Middleware Middleware: a software layer that provides a programming abstraction to mask the heterogeneity of the underlying platforms (networks, languages, hardware, …) E.g., CORBA, Java RMI But… the end-to-end argument implies that some aspects of communication support cannot always be abstracted away from applications. 23-Apr-17 COMP28112 Lecture 3

The end-to-end argument “The function in question can completely and correctly be implemented only with the knowledge and help of the application standing at the end points of the communication system. Therefore, providing that questioned function as a feature of the communication system itself is not possible. (Sometimes an incomplete version of the function provided by the communication system may be useful as a performance enhancement.)” See Coulouris pages 33-34 and http://www.reed.com/dpr/locus/Papers/EndtoEnd.html 23-Apr-17 COMP28112 Lecture 3

Client-Server Model 23-Apr-17 COMP28112 Lecture 3

Client-Server Model Characteristics of a server: Passive (slave) Waits for requests Upon receipts of requests, it processes them and sends replies Can be stateless (does not keep any information between requests) or stateful (remembers information between requests) Characteristics of a client: Active (master) Sends requests Waits for and receives server replies 23-Apr-17 COMP28112 Lecture 3

Peer-to-Peer (P2P) Earlier Example: Usenet News Other examples: Napster, Gnutella, Freenet, … 23-Apr-17 COMP28112 Lecture 3

Client-Server vs P2P Client-Server P2P Widely Used Functional Specialisation Asymmetrical Tends to be centralised Tends to scale poorly P2P Symmetrical, computers have same “rights” Truly Distributed Share / exploit resources with a large number of participants Resource discovery is a challenge 23-Apr-17 COMP28112 Lecture 3

Variations on a theme… Sometimes we need to consider: The use of multiple servers to increase performance and resilience The use of mobile code Users’ need for low-cost computers Requirements to add and remove mobile devices 23-Apr-17 COMP28112 Lecture 3

Multiple Servers 23-Apr-17 COMP28112 Lecture 3

Proxies and Caches 23-Apr-17 COMP28112 Lecture 3

Mobile Code… 23-Apr-17 COMP28112 Lecture 3

Thin Clients 23-Apr-17 COMP28112 Lecture 3

Design Requirements Performance Quality of Service Responsiveness Throughput Load balancing Quality of Service Caching and Replication Dependability Correctness Security Fault-Tolerance 23-Apr-17 COMP28112 Lecture 3

Fundamental Models Models include all the essential ingredients that we need to consider in order to understand and reason about some aspects of a system’s behaviour. A way of abstracting from reality. Aspects that we need to capture include: Process Interaction Failure Security Managing concurrency and failure underlies many of the problems we face! 23-Apr-17 COMP28112 Lecture 3

Factors affecting process interaction Performance of communication channels Computer Clocks and Timing Events Two variants of the process interaction model: Synchronous systems: Process Execution Speeds: has known lower and upper bound Message transmitted delay: bounded Clock drift rates: drift rate from real time has a known bound Asynchronous systems: All the above may take an arbitrarily long time. 23-Apr-17 COMP28112 Lecture 3

Event Ordering 23-Apr-17 COMP28112 Lecture 3

Failures in distributed systems What can go wrong? (see Figure 2.10 in Coulouris) How to mask failures? Read about checksums in network protocols 23-Apr-17 COMP28112 Lecture 3

In Summary... Different Architectures have different solutions Managing Concurrency, Failures, and Security underlies many of the problems we face. Reading: Coulouris, Chapter 2; Tanenbaum, Sec. 2.1, 2.2 (skim through the rest of Chapter 2) Read the text associated with the figures from Coulouris et al and Tanenbaum et al textbooks that are shown in this handout. Next time: Remote procedure calls. 23-Apr-17 COMP28112 Lecture 3