Module 1 - Distributed System Architectures & Models

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

Distributed Systems. Overview. Distributed Systems September A distributed system is a piece of software that ensures that:

Module 8 Fault Tolerance CS655! 8-1!

Distributed Systems LEEC (2006/07 2º Sem.)

DS 2009: middleware. David Evans

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

Distributed Systems. Lecture 4 Othon Michail COMP 212 1/27

Outline. Distributed Computing Systems. The Rise of Distributed Systems. Depiction of a Distributed System 4/15/2014

Introduction to Distributed Computing

Distribution and Integration Technologies

CPE731 Middleware for Distributed Systems

Distributed Systems. Lehrstuhl für Informatik 4. RWTH Aachen. Organization. Literature. Classification of the lecture

Crossbar switch. Chapter 2: Concepts and Architectures. Traditional Computer Architecture. Computer System Architectures. Flynn Architectures (2)

Client Server & Distributed System. A Basic Introduction

CS 454/654 Distributed Systems. Course Objective

CS454/654 Midterm Exam Fall 2004

02 - Distributed Systems

02 - Distributed Systems

1.264 Lecture 16. Legacy Middleware

Chapter 4 Communication

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

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

Today: Distributed Objects. Distributed Objects

CORBA (Common Object Request Broker Architecture)

Distributed Systems. Definitions. Why Build Distributed Systems? Operating Systems - Overview. Operating Systems - Overview

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Distributed Information Processing

Middleware and Interprocess Communication

CS4513 Distributed Computer Systems

Modulo II Introdução Sistemas Distribuídos

Chapter 5: Distributed objects and remote invocation

Assignment 5. Georgia Koloniari

Concepts of Distributed Systems 2006/2007

Chapter 2 System Models

Distributed Systems Principles and Paradigms

Distributed Operating Systems Fall Prashant Shenoy UMass Computer Science. CS677: Distributed OS

TDP3471 Distributed and Parallel Computing

Introduction. Distributed Systems IT332

Introduction to Distributed Systems. INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio)

Distributed Operating Systems Spring Prashant Shenoy UMass Computer Science.

Distributed and Operating Systems Spring Prashant Shenoy UMass Computer Science.

Introduction to Distributed Systems (DS)

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.

Module 8 - Fault Tolerance

Introduction to Distributed Systems (DS)

Distributed Systems Course. a.o. Univ.-Prof. Dr. Harald Kosch

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Introduction. Chapter 1

2. System Models Page 1. University of Freiburg, Germany Department of Computer Science. Distributed Systems. Chapter 2 System Models

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

Java RMI Middleware Project

Distributed Technologies - overview & GIPSY Communication Procedure

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

Distributed Systems. Lehrstuhl für Informatik IV RWTH Aachen. Organisation. Classification of the lecture. Literature

Lecture 1: January 22

2.1 What are distributed systems? What are systems? Different kind of systems How to distribute systems? 2.2 Communication concepts

Introduction & RMI Basics. CS3524 Distributed Systems Lecture 01

Distributed Systems. Thoai Nam Faculty of Computer Science and Engineering HCMC University of Technology

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

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

Overview. System architectures Software layers Architectural models. Design requirements. client-server, peer processes, mobile code, agents,...

CHAPTER 2. Introduction to Middleware Technologies

Middleware and Distributed Systems. System Models. Dr. Martin v. Löwis

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

Distribution Transparencies For Integrated Systems*

Multimedia Database Architecture!

Introduction to Distributed Systems

Advanced Distributed Systems

Module 2 Overview of Computer Networks

Module 2 Overview of. Computer Networks

Designing Issues For Distributed Computing System: An Empirical View

06-Dec-17. Credits:4. Notes by Pritee Parwekar,ANITS 06-Dec-17 1

Advanced Operating Systems

MODELS OF DISTRIBUTED SYSTEMS

Lecture 1: January 23

Module 3 - Distributed Objects & Remote Invocation

System types. Distributed systems

Structured communication (Remote invocation)

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

Architecture of distributed systems

Architecture of distributed systems

Module 2 Fundamental Architectures and Models of Distributed Systems

Lecture 9: MIMD Architectures

Distributed Systems Principles and Paradigms

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

THE IMPACT OF E-COMMERCE ON DEVELOPING A COURSE IN OPERATING SYSTEMS: AN INTERPRETIVE STUDY

Advanced Lectures on knowledge Engineering

CAS 703 Software Design

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

System models for distributed systems

Software Architecture Patterns

Today: Distributed Middleware. Middleware

Distributed Systems Lecture 2 1. External Data Representation and Marshalling (Sec. 4.3) Request reply protocol (failure modes) (Sec. 4.

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

Distributed Systems Concepts And Design 5th Edition Exercise Solutions

Distributed Systems Concepts Design 4th Edition

Distributed Systems Concepts Design 5th Edition Solutions

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

Transcription:

Module 1 - Distributed System Architectures & Models System Architecture Defines the structure of the system components identified functions of each component defined interrelationships and interactions between components defined 1-2 1

Reference Model Standardization A conceptual framework whose purpose is to divide standardization work into manageable pieces and to show at a general level how these pieces are related to one another. Approaches Component-based Components of the system are defined together with the interrelationships between components. Good for design and implementation of the system. Function-based Classes of users are identified together with the functionality that the system will provide for each class. The objectives of the system are clearly identified. But how do you achieve these objectives? Example: ISO/OSI Model 1-3 Software Layers Platform From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms Prentice-Hall, Inc. 2002 1-4 2

Layers Platform Fundamental communication and resource management services We won t be worried about these Middleware Provides a service layer that hides the details and heterogeneity of the underlying platform Provides an easier API for the applications and services Can be as simple as RPC or as complex as OMA RPC (Remote Procedure Call): simple procedure call across remote machine boundaries OMA (Object Management Architecture) : an object -oriented platform for building distributed applications Applications Distributed applications, services Examples: e-mail, ftp, etc 1-5 Hardware Organization From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms Prentice-Hall, Inc. 2002 1-6 3

Software Organization System DOS NOS Middleware Description Tightly-coupled operating system for multiprocessors and homogeneous multicomputers Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Additional layer atop of NOS implementing general-purpose services Main Goal Hide and manage hardware resources Offer local services to remote clients Provide distribution transparency From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms Prentice-Hall, Inc. 2002 1-7 -server System Architectures Multiple-client/single-server Multiple-client/multiple-servers Mobile clients Thin clients Multitier systems Peer-to-peer systems 1-8 4

Multiple-/Single Server User interface Programmatic interface other application support environments Applications Services Communications Applications Services Communications Network Communications Server Services Data 1-9 Advantages of /Server Computing More efficient division of labor Horizontal and vertical scaling of resources Better price/performance on client machines Ability to use familiar tools on client machines access to remote data (via standards) Full DBMS functionality provided to client workstations Overall better system price/performance 1-10 5

-Server Communication Request (invocation) Result Server Request (invocation) Result Process Computer 1-11 -Server Timing General interaction between a client and a server. From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms Prentice-Hall, Inc. 2002 1-12 6

An Example and Server (1) The header.h file used by the client and server. From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms Prentice-Hall, Inc. 2002 1-13 An Example and Server (2) A sample server. From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms Prentice-Hall, Inc. 2002 1-14 7

An Example and Server (3) A client using the server to copy a file. 1-27 b From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms Prentice-Hall, Inc. 2002 1-15 Problems With Multiple- /Single Server Server forms bottleneck Server forms single point of failure System scaling difficult 1-16 8

Multiple s/multiple Servers Applications Services Communications Network Communications Server Services Communications Server Services Data Data 1-17 Multiple-/Multiple-Server Communication invocation invocation Server result Server result From Coulouris, Dollimoreand Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000 1-18 9

Service Across Multiple Servers Service Server Server Server From Coulouris, Dollimoreand Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000 1-19 Mobile Computing Internet Host intranet Wireless LAN WAP Gateway Home intranet PDA Database Printer Camera Laptop Host site 1-20 10

Example Mobile Computing Environment Internet gateway Music service Alarm service Discovery service Hotel wireless network Camera TV/PC Laptop PDA Guests devices These types of environments are commonly called spontaneous systems or pervasive computing From Coulouris, Dollimoreand Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000 1-21 Thin s Thin s and Compute Servers Executing graphical user interface on local computer while application executes on compute server Example: X11 server (run on the application client side) In reality: Palm Pilots, Mobile phones Network computer or PC Compute server Thin network Application Process From Coulouris, Dollimoreand Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000 1-22 11

Multitier Systems Servers are clients of other servers Example: Web proxy servers Proxy server Web server Web server From Coulouris, Dollimoreand Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000 1-23 Multitier Systems (2) Example: Internet Search Engines From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms Prentice-Hall, Inc. 2002 1-24 12

Multitier System Alternatives From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms Prentice-Hall, Inc. 2002 1-25 Communication in Multitier Systems From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms Prentice-Hall, Inc. 2002 1-26 13

Peer-to-Peer Systems Application Coordination code Application Coordination code Application Coordination code From Coulouris, Dollimoreand Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000 1-27 Example /Server Middleware Remote Procedure Call (RPC) Uses the well-known procedure call semantics. The caller makes a procedure call and then waits. If it is a local procedure call, then it is handled normally; if it is a remote procedure, then it is handled as a remote procedure call. Caller semantics is blocked send; callee semantics is blocked receive to get the parameters and a nonblocked send at the end to transmit results. Caller procedure Caller Caller stub Comm. Comm. Callee Callee stub Callee procedure Call( ). Marshall params Unmarshall results Call packet(s) Transmit Receive Result packet(s) Receive Transmit Unmarshall arguments Marshall results Call Return 1-28 14

Example /Server Middleware Object Management Architecture (OMA) Object-oriented Application objects Common facilities CASE tool Query Browser Email Common Object Request Broker (CORBA) Persistence Name Service Common Object Services (COSS) 1-29 OMA Modules Object Request Broker: directs requests and answers between objects Object Services: basic functions for object management (e.g., a name service) Common Facilities: generic object-oriented tools for various applications (e.g., a class browser) Application Objects: classes specific to an application domain (e.g., a CASE tool) 1-30 15

OMG Object Model Generalized object model including objects, values (object names and handles), operations, signatures, types and classes An object is an abstraction with a state and a set of operations A request is an operation call with one or more parameters, any of which may identify an object (multi-targeting); Arguments and results are passed by value identifies request identifies object operation has type has 1-31 Communications substrate A specific programmer interface (no implementation) Multi- vendor ORBs to interoperate (CORBA-2) Layered on top of other communication substrates (RPC, byte streams, IPC, ) Language mapping (C, C++, Ada, Smalltalk, Java, Cobol) Object adapters ORB interface CORBA Features Interface repository (IR) 1-32 16

OMA s -Server Structure Object Implementation Request Response ORB 1-33 ORB Functions Request dispatch to determine the identity of a method to be called Parameter encoding to convey local representations of parameter values Delivery of request and result messages to the proper nodes Synchronization of the requesters with the responses of the requests Activation and deactivation of persistent objects, e.g., Using the ODBMS servers Exception handling to report various failures to requesters and servers Security mechanisms to assure the secure conveyance of messages among objects 1-34 17

ORB Structure Object Implementation Interface Repository Dynamic Invocation IDL Stubs ORB Interface Dynamic Skeleton IDL Skeleton Object Adapter Impl. Repository ORB-dependent interface ORB Core Common ORB interface Multiple object adapters Different stub and skeleton for each object type 1-35 CORBA Method Invocations Static Faster Everything at compile time Easier to program Invoke a method on an identified object Static type checking Code is self-documenting Dynamic Flexible Code genericity Run-time addition of classes Needed for tools (e.g., Browsers) 1-36 18

Performance Metrics Design Requirements of Distributed Systems Load balancing Scalability Use of caching and replication Quality of Service Functional as well as performance Dependability Reliability Fault tolerance Security 1-37 Performance metrics Response time Performance How long it takes from a user s request until the result is returned to the user Average response time is usually meaningful Throughput Number of jobs per unit time System utilization Amount of network capacity consumed Performance Problem Exchange of messages is typically slow (about 1 msec return trip time on a LAN, mainly due to protocol handling) 1-38 19

Changing Network Characteristics Messaging Overhead Software Overhead New Protocols (e.g., Infiniband, FiberChannel) Hardware Overhead 10 Mbps 100 Mbps 1 Gbps 1-39 Scalability Distributed systems operate at many different scales Two workstations and a file server The CS computers Most current distributed systems designed to work with few hundred CPUs Future systems will be orders of magnitude larger Computers in the Internet Date Computers 1979, Dec. 188 1989, July 130,000 1999, July 56,218,000 Computers vs. Web servers in the Internet Date Computers Web servers Percentage 1993, July 1,776,000 130 0.008 1995, July 6,642,000 23,500 0.4 1997, July 19,540,000 1,203,096 6 1999, July 56,218,000 6,598,697 12 1-40 20

Guiding Performance Principles Distribution provides opportunities for parallelism that can imp rove performance Inter-process vs intra-process parallelism Pay considerable attention to the size of computations Fine-grained parallelism: large number of small computations, interact highly with one another potential trouble Coarse-grained parallelism: large computations, low interaction rates, little data maybe better Often the more important question is not can you scale, but can you scale well Solutions for 200 machines will fail miserably for 2,000,000 Designers should try to avoid the potential bottlenecks: Centralized components (e.g., A single mail server for all users) Centralized tables (e.g., A single Directory Name Server) Centralized algorithms (e.g., Routing based on complete information) Difference between bandwidth and latency Use caching and data replication for performance reasons (replication can be used for dependability reasons as well) 1-41 Quality of Service (QoS) How well the system can meet the service requirements specified for it Functional Whether the system can perform the specified functions Non-functional How well the system can perform these functions with respect to Performance Reliability Availability Examples Frame rates, jitter in video transmission Real-time constraints Database access time requirements 24/7 requirements 1-42 21

Dependability Reliability A measure of success with which a system conforms to some authoritative specification of its behavior. Probability that the system has not experienced any failures within a given time period. Typically used to describe systems that cannot be repaired or where the continuous operation of the system is critical. Availability The fraction of the time that a system meets its specification. The probability that the system is operational at a given time t. 1-43 How to Improve Dependability Hardware and software redundancy - masking Take a distributed system with 4 file servers, each with a 0.95 chance of being up at any instant The probability of all 4 being down simultaneously is 0.05 4 = 0.000006 So the probability of at least one being available (i.e., the reliability of the full system) is 0.999994, far better than 0.95 If there are 2 servers, then the reliability of the system is (1-0.05 2 ) = 0.9975 A design that does not require simultaneous functioning of a substantial number of critical components 1-44 22

Hardware Redundancy Two computers are employed for a single application, one acting as a standby Very costly, but often very effective solution Redundancy can be planned at a finer grain Individual servers can be replicated Redundant hardware can be used for non-critical activities when no faults are present Redundant routes in network 1-45 Software Redundancy Distributed Systems are foremost highly complex software systems Nortel Networks DMS- 100 switch: 25-30 million lines of code, 3000 software developers, 20 years life cycle to date. Motorola: 20% of engineers produce hardware, 80% produce software Subject to all kinds of software engineering problems Software redundancy requires Process redundancy When one process fails, another one can take over Data redundancy the state of permanent data can be recovered or rolled back when a fault is detected transaction processing Dilemma: Data replication improves availability, but increses the chances that they will be inconsistent, especially if updates are frequent Replication protocols 1-46 23

Security Security is a big issue in computing in general, but even more so in distributed computing Communication Distributed resources Infrastructure attacks Files/resources must be protected from unauthorized usage Problems Threats to processes Threats to communication channels Denial of service attacks Some issues Privacy Authentication Availability Integrity 1-47 Summary Distributed systems consist of autonomous CPUs that work together to make the complete system look like a single computer System Models -Server: Most widely used Variants of -Server Model Service provided by multiple servers, proxy servers, mobile code, mobile agents, network computers, thin clients, spontaneous (or pervasive ) networking Peer-to-peer Model Key issues when designing distributed systems: Transparency, reliability, performance, scalability, 1-48 24