System models for distributed systems

Similar documents
System Models for Distributed Systems

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

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

02 - Distributed Systems

02 - Distributed Systems

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

Chapter 2 System Models

Architecture of distributed systems

Architecture of distributed systems

Distributed Systems (5DV147)

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

Distributed Systems: Models and Design

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

Architectural Models

Introduction to Distributed Systems

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

MODELS OF DISTRIBUTED SYSTEMS

Distributed Systems (ICE 601) Fault Tolerance

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.

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

MODELS OF DISTRIBUTED SYSTEMS

Distributed Systems COMP 212. Lecture 19 Othon Michail

Introduction to Distributed Computing

Fault Tolerance. Distributed Software Systems. Definitions

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

Today: Fault Tolerance. Replica Management

Distributed Algorithms Models

Specifying and Proving Broadcast Properties with TLA

Motivation for peer-to-peer

Introduction to Distributed Systems (DS)

DISTRIBUTED SYSTEMS UNIT I

What is a distributed system?

Modulo II Introdução Sistemas Distribuídos

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

Introduction to Distributed Systems (DS)

Distribution and Integration Technologies

Today: Fault Tolerance

Distributed Systems Conclusions & Exam. Brian Nielsen

Distributed Systems Conclusions & Exam. Brian Nielsen

Software Architecture Patterns

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

Reliable Distributed System Approaches

Communication Paradigms

Consensus and related problems

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

CSE 5306 Distributed Systems. Fault Tolerance

Dep. Systems Requirements

Failure Tolerance. Distributed Systems Santa Clara University

Fault Tolerance. Basic Concepts

Today: Fault Tolerance. Fault Tolerance

Frequently asked questions from the previous class survey

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

Ruminations on Domain-Based Reliable Broadcast

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

Applications and Services in Internet (4 cr) Autumn 2007 Periods I, II

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

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

Advanced Distributed Systems

CSE 5306 Distributed Systems

Architectural Styles - Finale

Implementation Issues. Remote-Write Protocols


Module 1 - Distributed System Architectures & Models

Communication. Overview

Distributed Information Processing

DS 2009: middleware. David Evans

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

Assignment 5. Georgia Koloniari

Architectures for Distributed Systems

Transport layer protocols. Lecture 15: Operating Systems and Networks Behzad Bordbar

05 Indirect Communication

CA464 Distributed Programming

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

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

Distributed Algorithms Reliable Broadcast

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

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

Distributed Systems Principles and Paradigms. Chapter 01: Introduction

Introduction to Distributed Systems

CS603: Distributed Systems

COMMUNICATION IN DISTRIBUTED SYSTEMS

Introduction to Distributed Systems Seif Haridi

Lecture XII: Replication

Network Protocols. Sarah Diesburg Operating Systems CS 3430

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

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

Distributed Systems. Edited by. Ghada Ahmed, PhD. Fall (3rd Edition) Maarten van Steen and Tanenbaum

Distributed Algorithms. Partha Sarathi Mandal Department of Mathematics IIT Guwahati

Distributed Systems Principles and Paradigms

Parallel and Distributed Systems. Programming Models. Why Parallel or Distributed Computing? What is a parallel computer?

Amrita Vishwa Vidyapeetham. ES623 Networked Embedded Systems Answer Key

CSC8223 Wireless Sensor Networks. Chapter 3 Network Architecture

Today: Fault Tolerance. Failure Masking by Redundancy

Peer-to-Peer Systems. Chapter General Characteristics

Distributed Systems COMP 212. Revision 2 Othon Michail

Last Class:Consistency Semantics. Today: More on Consistency

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

Transcription:

System models for distributed systems INF5040/9040 autumn 2010 lecturer: Frank Eliassen INF5040 H2010, Frank Eliassen 1 System models Purpose illustrate/describe common properties and design choices for distributed system in a single descriptive model Two types of models Architecture models: define the main components of the system, what their roles are and how they interact (software architecture), and how they are deployed in a underlying network of computers (system architecture). Fundamental models: formal description of the properties that are common to architecture models. Three fundamental models: interaction models failure models security models INF5040 H2010, Frank Eliassen 2 INF5040 autumn 2009, Frank Eliassen 1

Architectural styles To master the complexity of distributed systems, it is crucial that they are properly organized Concern the logical organization of distributed systems into software components and connectors Components are replaceable units within its environment Connectors are mechanisms that mediate communication, coordination and cooperation among components Important architectural styles for DS Layered architectures Object-based architectures Event-based architectures Shared data spaces INF5040 H2010, Frank Eliassen 3 Layered architecture INF5040 H2010, Frank Eliassen 4 INF5040 autumn 2009, Frank Eliassen 2

Object-based architecture INF5040 H2010, Frank Eliassen 5 Event-based architecture INF5040 H2010, Frank Eliassen 6 INF5040 autumn 2009, Frank Eliassen 3

Event bus realized as publishsubscribe middleware publishers IBM: -3,75 Pub-sub service S 1 : IBM & v>0 IBM: -3,75 subscribers S 1 IBM & v>0 ACME: +0,15 S 2 : ACME ACME: +0,15 S 2 ACME IBM: +2,51 S 3 : ACME ACME: +0,15 S 3 ACME event notification subscription INF5040 H2010, Frank Eliassen 7 A data-centered architecture: Shared data-spaces INF5040 H2010, Frank Eliassen 8 INF5040 autumn 2009, Frank Eliassen 4

Example distributed shared data space: MIDAS 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 INF5040 H2010, Frank Eliassen 9 Centralized system architectures -server model: Known for more than 25 years, very popular in DS design General interaction between a client and a server. INF5040 H2010, Frank Eliassen 10 INF5040 autumn 2009, Frank Eliassen 5

Component view of clientserver model request response request response Process Computer INF5040 H2010, Frank Eliassen 11 Variants of client-server (1) Multiple server processes: - service realised as a number of server-processes - several access points service INF5040 H2010, Frank Eliassen 12 INF5040 autumn 2009, Frank Eliassen 6

Variants of client-server (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 server Web server Web server INF5040 H2010, Frank Eliassen 13 Variants of client-server (3) Mobile code (applets). Enables e.g., push-model : the server invokes the client, or more advanced user interfaces applet code applet INF5040 H2010, Frank Eliassen 14 INF5040 autumn 2009, Frank Eliassen 7

Variants of client-server (4) Mobile agents. Program (code + data) that migrates between computers and executes a task on behalf of someone. Mobiel agent Mobiel agent Mobile agent INF5040 H2010, Frank Eliassen 15 Decentralized system architectures Referred to as peer-to-peer (P2P) systems Every node act both as a client and server ( servent ), and pays for the participation by offering access to some if its resources (typically processing and storage resources, but can also be logical resources (services) Advantages: no single point of failure, scalability Disadvantages: complexity of protocols Many application areas File sharing, streaming, process sharing, collaborative and social applications, web-caching etc INF5040 H2010, Frank Eliassen 16 INF5040 autumn 2009, Frank Eliassen 8

Example: P2P file sharing (1) Key idea: share the content, storage and bandwidth of individual (home) users Model Each user stores a subset of files Each user has access (can download) files from all users in the system Internet INF5040 H2010, Frank Eliassen 17 Example: P2P file sharing (2) Main challenge Find where a particular file is stored F E D E? A B C INF5040 H2010, Frank Eliassen 18 INF5040 autumn 2009, Frank Eliassen 9

Example: P2P file sharing (3) Gnutella: Ask your neighbor Assume: m1 s neighbors are m2 and m3; m3 s neighbors are m4 and m5; m5 m6 E F E E? E? m4 D E? E? m1 A m2 B m3 C INF5040 H2010, Frank Eliassen 19 Spontaneous networks s carry mobile devices (laptop, PDA,.) between different network environments (hotel network, airport network, ) and can exploit local and remote services while on the move (ubiquitous computing). Internet gateway Print/fax service Music service Discovery service Hotel s wireless network Alarm service register lookup TV/PC Laptop PDA Mobile device of guest INF5040 H2010, Frank Eliassen 20 INF5040 autumn 2009, Frank Eliassen 10

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 system we are modeling to find out what is generally feasible and not feasible under the given assumptions INF5040 H2010, Frank Eliassen 21 Fundamental models Aspects of distributed systems we want to express Interaction model processes, messages, coordination (synchronisation 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 systems that are able to tolerate failures of each type while continuing to run correctly 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 INF5040 H2010, Frank Eliassen 22 INF5040 autumn 2009, Frank Eliassen 11

Two variants of the interaction model Synchronous distributed systems the time to execute each step of a process has known lower and upper bounds each message transmitted over a channel is received within a known bounded time each process has a local clock whose 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 each process has a local clock whose drift rate from real time can be arbitrarily large INF5040 H2010, Frank Eliassen 23 Significance of synchronous vs asynchronous 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 INF5040 H2010, Frank Eliassen 24 INF5040 autumn 2009, Frank Eliassen 12

Ordering of events 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] INF5040 H2010, Frank Eliassen 25 Example: e-mail exchange X send(m) m 1 rcv(re:m) rcv(re:m) Time Y rcv(m) send(re:m) m 2 rcv(re:m) Z rcv(m) rcv(re:m) send(re:m) A m3 m 1 m 2 INF5040 H2010, Frank Eliassen 26 INF5040 autumn 2009, Frank Eliassen 13

Logical clocks Possible to describe logical ordering of events even without accurate clocks by using logical clocks [Lamport78] Principle If two events happens in the same process, then they occur in the same order as in the process that observed them When a message is transmitted between two processes, the event send message will always happen before the event receive message Happened-before relationship is derived by generalizing the two relationships above such that if x, y and z are events and x happened-before y and y happened before z, then x happened-before z logicial clocks extends the idea above more later in the course (chap 11) INF5040 H2010, Frank Eliassen 27 A failure model 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 behaviour of the service it builds upon example: TCP on top of IP TCP: reliable byte-stream service IP: unreliable datagram service INF5040 H2010, Frank Eliassen 28 INF5040 autumn 2009, Frank Eliassen 14

Specification of failure model 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: send m receive m communication channel outgoing message buffer incoming message buffer INF5040 H2010, Frank Eliassen 29 Omission failure (1) 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. INF5040 H2010, Frank Eliassen 30 INF5040 autumn 2009, Frank Eliassen 15

Omission failure (2) Failure class Affects Description Send-omission Process A process completes a send-operation, but the message is not put into the outgoing message buffer. Receive-omission Process A message is put into a process s incoming message buffer, but the process does not receive it. INF5040 H2010, Frank Eliassen 31 Omission failure (3) Usual assumption that a server has fail-stop failure model the server crashes in a nice way it halts completely other servers may detect it has failed if the server nevertheless fails in a different way, the software that uses the server, may fail in unpredictable ways It is difficult to detect omission failures for processes in an asynchronous system INF5040 H2010, Frank Eliassen 32 INF5040 autumn 2009, Frank Eliassen 16

Arbitrary failures (Byzantine failures) Process or channel may exhibit arbitrary behaviour when failing, send/receive arbitrary messges 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 INF5040 H2010, Frank Eliassen 33 Timing 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 INF5040 H2010, Frank Eliassen 34 INF5040 autumn 2009, Frank Eliassen 17

Summary Two types of system models Arcitecture models: defines the components of the system, the way they interact, and the way the are deployed in a network of computers client-server models (many variants) peer processes (P2P) spontaneous networks (mobility) 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, but see e.g., INF3190) INF5040 H2010, Frank Eliassen 35 INF5040 autumn 2009, Frank Eliassen 18