System Models for Distributed Systems

Similar documents
System models for distributed systems

02 - Distributed Systems

02 - Distributed Systems

Chapter 2 System Models

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

Architecture of distributed systems

Architecture of distributed systems

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

System Models. 2.1 Introduction 2.2 Architectural Models 2.3 Fundamental Models. Nicola Dragoni Embedded Systems Engineering DTU Informatics

Distributed Systems (5DV147)

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

Distributed Systems: Models and Design

Introduction to Distributed Systems

System Models 2. Lecture - System Models 2 1. Areas for Discussion. Introduction. Introduction. System Models. The Modelling Process - General

Distributed Systems (ICE 601) Fault Tolerance

MODELS OF DISTRIBUTED SYSTEMS

Architectural Models

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

MODELS OF DISTRIBUTED SYSTEMS

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

Distributed Algorithms Models

Fault Tolerance. Distributed Software Systems. Definitions

Introduction to Distributed Systems (DS)

CSE 486/586 Distributed Systems

C 1. Recap. CSE 486/586 Distributed Systems Failure Detectors. Today s Question. Two Different System Models. Why, What, and How.

Introduction to Distributed Systems (DS)

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

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

Communication Paradigms

C 1. Today s Question. CSE 486/586 Distributed Systems Failure Detectors. Two Different System Models. Failure Model. Why, What, and How

DISTRIBUTED SYSTEMS UNIT I


What is a distributed system?

The Timed Asynchronous Distributed System Model By Flaviu Cristian and Christof Fetzer

Specifying and Proving Broadcast Properties with TLA

Distributed Systems Question Bank UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems?

Distributed Systems

Failure Tolerance. Distributed Systems Santa Clara University

Remote Invocation. 1. Introduction 2. Remote Method Invocation (RMI) 3. RMI Invocation Semantics

Software Architecture Patterns

Dep. Systems Requirements

Distributed Systems COMP 212. Lecture 19 Othon Michail

Consensus and related problems

Today: Fault Tolerance. Replica Management

Consensus Problem. Pradipta De

Fundamental Issues. System Models and Networking Chapter 2,3. System Models. Architectural Model. Middleware. Bina Ramamurthy

Network Protocols. Sarah Diesburg Operating Systems CS 3430

CprE Fault Tolerance. Dr. Yong Guan. Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University

Distributed Systems Principles and Paradigms. Chapter 01: Introduction. Contents. Distributed System: Definition.

CA464 Distributed Programming

Today: Fault Tolerance

Distributed Systems Principles and Paradigms. Chapter 01: Introduction

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

03 Remote invoaction. Request-reply RPC. Coulouris 5 Birrel_Nelson_84.pdf RMI

Fault Tolerance. Basic Concepts

COMMUNICATION IN DISTRIBUTED SYSTEMS

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

Outline. INF3190:Distributed Systems - Examples. Last week: Definitions Transparencies Challenges&pitfalls Architecturalstyles

Introduction to Distributed Systems Seif Haridi

Lecture XII: Replication

Communication. Distributed Systems Santa Clara University 2016

Chapter 5: Distributed Systems: Fault Tolerance. Fall 2013 Jussi Kangasharju

Structured communication (Remote invocation)

DISTRIBUTED COMPUTER SYSTEMS

Distributed Systems Principles and Paradigms

Coordination 1. To do. Mutual exclusion Election algorithms Next time: Global state. q q q

TDDD82 Secure Mobile Systems Lecture 1: Introduction and Distributed Systems Models

Fault Tolerance. Distributed Systems. September 2002

Middleware and Interprocess Communication

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2. Goals for Todayʼs Lecture. Role of Transport Layer

Distributed Systems. 09. State Machine Replication & Virtual Synchrony. Paul Krzyzanowski. Rutgers University. Fall Paul Krzyzanowski

Today: Fault Tolerance. Fault Tolerance

EEC-484/584 Computer Networks

CSE 5306 Distributed Systems. Fault Tolerance

Architectural Styles. Software Architecture Lecture 5. Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.

Communication. Overview

Advanced Distributed Systems

Lecture 2 Communication services The Trasport Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Last Class: RPCs and RMI. Today: Communication Issues

Process groups and message ordering

Frequently asked questions from the previous class survey

Networks and distributed computing

CS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University

Modulo II Introdução Sistemas Distribuídos

Fault Tolerance Part I. CS403/534 Distributed Systems Erkay Savas Sabanci University

The Design and Implementation of a Fault-Tolerant Media Ingest System

Practical Byzantine Fault Tolerance. Miguel Castro and Barbara Liskov

Distributed Systems COMP 212. Revision 2 Othon Michail

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

CSE 5306 Distributed Systems

CS603: Distributed Systems

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

Implementation Issues. Remote-Write Protocols

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

Distributed Information Processing

IPC. Communication. Layered Protocols. Layered Protocols (1) Data Link Layer. Layered Protocols (2)

Software Components and Distributed Systems

05 Indirect Communication

Slides for Chapter 2: System Models

Transcription:

System Models for Distributed Systems INF5040/9040 Autumn 2015 Lecturer: Amir Taherkordi (ifi/uio) August 31, 2015 Outline 1. Introduction 2. Physical Models 4. Fundamental Models 2 INF5040 1

System Models 1. Introduction Purpose: To illustrate/describe common properties and design choices for distributed systems in a single descriptive model Three types of models Physical models: capture the hardware composition of a system in terms of computers and other devices and their interconnecting network Architectural models: software architecture: the main components of the system + their roles + how they interact system architecture: how they are deployed in an underlying network of computers Fundamental models: formal description of the properties that are common to architecture models. Three fundamental models: interaction models, failure models and security models 3 Physical Models Distributed Systems Early Internet-scale Contemporary Scale Small (10-100) Large Ultra-large Heterogeneity Limited (typically relatively homogeneous configurations) Significant in terms of platforms, languages and middleware Openness Not a priority Significant priority with rage of standards introduced Quality of Service LAN (1970s) Internet (1980s 1990s) Cloud computing (2000s) Not a priority Significant priority with range of services introduced Added dimensions introduced including radically different styles of architecture Major challenge with existing standards: not yet able to embrace complex systems Major challenge with existing services: not yet able to embrace complex systems 4 INF5040 2

Architectural Models To master the complexity of distributed systems, it is crucial that they are properly organized Concern the logical organization of distributed systems into: 1 3 Communicating Entity 2 4 Communicating Entity Communicating Entity 1. Communicating entities Objects Components Web services 2. Communication paradigms Interprocess communication Remote invocation Indirect communication 3. Roles and responsibilities 4. Placement Strategies Object-based DS Distributed Components Web-Based Systems Communication Paradigms 5 Indirect Communication Example Distributed shared data space Information sharing through a database-like distributed system called MIDAS Data Space Application Select, Insert, Implementation challenges: - Availability - Fault-tolerance - Scalability - Consistency - Efficiency Emergency area without communication infrastructure 6 INF5040 3

Roles and Responsibilities Component view of client-server model request response Process Computer Peer-to-peer Peer 2 Peer 1 App Peer 3 Shareable Objects App App 7 Placement Strategies - 1 Multiple server processes: service realized as a number of server-processes several access points service 8 INF5040 4

Placement Strategies - 2 /server model with proxy-server: Cache: stores recently-used data objects that are closer to the client than the original objects themselves. Proxy server: cache that is shared between several clients Proxy Web Web 9 Placement Strategies - 3 Mobile code (applets) Enables e.g., push-model : the server invokes the client, or more advanced user interfaces Applet Code Web Applet Code Web 10 INF5040 5

Placement Strategies - 4 Mobile agents: Program (code + data) that migrates between computers and executes a task on behalf of someone. Mobile Agent Mobile Agent Mobile Agent 11 Architectural Patterns 1 Build on more primitive architectural elements Recurring structures that have been shown to work well Layering Architecture Tiered Architecture Thin s (Cloud s) Among other patterns: Proxy, Brokerage and Reflection 12 INF5040 6

Architectural Patterns 2 Layered Tiered Tier 1 Tier 2 Tier 3 Platform Applications and Services Middleware Operating System Computer and Network Hardware PC User View and Control Mobile Device User View and Control Application Application Logic Application Logic DB Database Manager 13 Middleware Solutions Support to architectural models Categories: Distributed Objects, Distributed Components, Publish-subscribe, Message queues, Web services, Peer-to-peer Limitations: Dependability aspects End-to-end argument Context-aware and adaptive solutions 14 INF5040 7

Architectural Patterns 3 Thin s Move complexity away from end-user devices Networked device Thin Network Computer Application Process For example: Virtual Network Computing (VNC): graphical desktop sharing system to remotely control another computer 15 Fundamental Models Properties shared by all architecture models communicates by sending messages across a network requirements of performance, reliability, and security Fundamental models abstracts over unnecessary details used to address questions like what are the most important entities in the system? how do they interact? what are the characteristics that affect their individual and collective behaviour? The purpose of fundamental models to make explicit all relevant assumptions about the modeled system to find out what is generally feasible and not feasible under the given assumptions 16 INF5040 8

Fundamental Models 4. Fundamental Models Aspects of distributed systems we want to express Interaction model processes, messages, coordination (synchronization and ordering) must reflect that messages are subject to delays, and that delay limits exact coordination and maintenance of global time Failure model defines and classifies failures that can occur in a DS basis for analysis of effects of failures and for design of faulttolerant systems Security model defines and classifies security attacks that can occur in a DS basis for analysis of threats to a system and for design of systems that are able to resist them 17 Significant Factors 4. Fundamental: Interaction Models Performance of communication: Latency delay between the start of the transmission and the beginning of reception Bandwidth Total amount of information that can be transmitted Jitter Variation in the time taken to deliver a series of messages: relevant for multimedia data Computer Clocks: Each computer: its own clock Two processes running on different computers: timestamps? Even reading at the same time: different timestamps! Clock drift: rate for deviation from reference clock How to correct time: from GPS or reference computer in the network 18 INF5040 9

Two Variants 4. Fundamental: Interaction Models Synchronous distributed systems the time to execute each step of a process: known lower and upper bounds each message transmitted over a channel is received within a known bounded time local clock s drift rate from real time has a known bound Asynchronous distributed systems the time to execute each step of a process can take arbitrarily long each message transmitted over a channel can be received after an arbitrarily long time local clock s drift rate from real time can be arbitrarily large 19 4. Fundamental: Timing Significance of Syn. vs Asyn. DS Many coordination problems have a solution in synchronous distributed systems, but not in asynchronous e.g., The two army problem or Agreement in Pepperland (see [Coulouris]) Often we assume synchrony even when the underlying distributed system in essence is asynchronous Internet is in essence asynchronous but we use timeouts in protocols over Internet to detect failures based on estimates of time limits but: design based on time limits that can not be guaranteed, will generally be unreliable 20 INF5040 10

Ordering of Events 4. Fundamental: Timing distributed coordination protocols have a need for ordering of events in time ( happened before - relationship) events: sending and receiving messages example: update of replicated data must generally be done in the same order in all replica difficult to use physical clocks in computers for coordination (e.g., clock values in messages) have limited time resolution and ticks with different rates (clock drift) basic properties of message exchange limit the accuracy of the synchronization of clocks in a DS [Lamport 78] 21 Example: E-mail Exchange 4. Fundamental: Timing Example: e-mail exchange X send(m) m 1 rcv(re:m) rcv(re:re:m) Time Y rcv(m) send(re:m) m 2 rcv(re:re:m) m 3 Z rcv(m) rcv(re:m) send(re:re:m) A m 3 m 1 m 2 22 INF5040 11

Logical Clocks 4. Fundamental: Timing Possible to describe logical ordering of events even without accurate clocks by using logical clocks Principle If two A and B happen in the same process, then they occur in the same order: A B if A is sending of a message by one process and B is the receipt of the same message by another process, then A B Happened-before relationship is derived by generalizing the two relationships above such that if A, B and C are events and A B and B C, then A C Logical clocks extends the idea above more later in the course Time and Coordination in DS 23 A Failure Model 4. Fundamental: Failure Is a definition of in which way failures may occur in distributed systems Provides a basis for understanding the effects of failures Definition of the failure model of a service enables construction of a new service that hides the faulty behavior of the service it builds upon example: TCP on top of IP TCP: reliable byte-stream service IP: unreliable datagram service 24 INF5040 12

Specification of a Failure Model 4. Fundamental: Failure Specification of failure models requires a way to describe failures One approach is to classify failure types (Cristian, 1991) (Hadzilacos & Toueg, 1994) Omission failures Arbitrary failures Timing failures System model: Process p Send m communication channel Process q Receive m outgoing message buffer incoming message buffer 25 Omission Failures 4. Fundamental: Failure A process or channel fails to perform actions that it is supposed to do Failure class Affects Description Fail-stop Process Process halts and remains halted. Other processes may detect this state. Crash Process Process halts and remains halted. Other processes may not be able to detect this state. Omission Channel A message inserted in an outgoing message buffer never arrives in the other end s incoming buffer. Send Process A process completes a send-operation, but omission the message is not put into the outgoing message buffer. Receive- Process A message is put into a process s incoming -omission message buffer, but the process does not receive it. 26 INF5040 13

4. Fundamental: Failure Arbitrary failures (Byzantine failures) Process or channel may exhibit arbitrary behavior when failing, send/receive arbitrary messages at arbitrary intervals a process may halt or perform faulty steps a process may omit to respond now and then By adopting a byzantine failure model, we can attempt to make systems that are ultra-reliable (handles HW failures, and provide guaranteed response times) control systems in air planes patient monitoring systems robot control systems control systems for nuclear power plants 27 Timing Failures 4. Fundamental: Failure Applicable in synchronous distributed systems responses that are not available to clients in a specified time interval timing guarantees requires guaranteed access to resources when they are needed Examples: control and monitoring systems, multimedia systems Failure class Effects Description Clock Process Process s local clock exceeds the bounds on its rate of drift from real time Performance Process Process exceeds the bounds on the interval between two processing steps Performance Channel A message s transmission takes longer than the stated bounds 28 INF5040 14

Masking Failures 4. Fundamental: Failure Masking a failure by hiding it all together or e.g., message retransmission: hiding omission failures converting it into a more acceptable type of failure e.g., checksums for masking corrupted messages: in fact an arbitrary failure => an omission failure Reliable 1-to-1 communication To mask some communication omission failures Defined in terms of: Validity Any message in the outgoing message buffer is eventually delivered to the incoming message buffer Integrity The message received is identical to the one sent, and no messages are delivered twice Threats: Retransmission with no duplicate detection Malicious injection of messages 29 Summary Three types of system models Physical models: capture the hardware composition of a system in terms of computers and other devices and their interconnecting network Architecture models: defines the components of the system, the way they interact, and the way the are deployed in a network of computers Architectural elements (entities, communication paradigms) Architectural patterns (layering, tiered) Middleware solutions Fundamental models: formal description of the properties that are common to all architecture models interaction models failure models Security models (not covered in this course) 30 INF5040 15