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

Similar documents
Distributed Systems (5DV147)

System Models for Distributed Systems

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

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

System models for distributed systems

Specifying and Proving Broadcast Properties with TLA

Frequently asked questions from the previous class survey

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

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

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

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

Architecture of distributed systems

Architecture of distributed systems

Introduction to Distributed Systems

Lecture 12: Time Distributed Systems

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

Lecture 10: Clocks and Time

Distributed Systems: Models and Design

Proseminar Distributed Systems Summer Semester Paxos algorithm. Stefan Resmerita

Distributed Information Processing

CS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [DISTRIBUTED MUTUAL EXCLUSION] Frequently asked questions from the previous class survey

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

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

CSE 486/586 Distributed Systems

02 - Distributed Systems

02 - Distributed Systems

Distributed Algorithms Models

Architectural Models

Chapter 2 System Models

Distributed Algorithms Benoît Garbinato

Distributed Systems COMP 212. Lecture 17 Othon Michail

Time. COS 418: Distributed Systems Lecture 3. Wyatt Lloyd

Time Synchronization and Logical Clocks

Middleware and Interprocess Communication

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

Process groups and message ordering

Distributed Systems (5DV147)

Introduction to Distributed Systems Seif Haridi

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

Distributed Algorithms Reliable Broadcast

A Mechanism for Sequential Consistency in a Distributed Objects System

2. Time and Global States Page 1. University of Freiburg, Germany Department of Computer Science. Distributed Systems

Chapter 39: Concepts of Time-Triggered Communication. Wenbo Qiao

Consistency in Distributed Systems

Time in Distributed Systems

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

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

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

Time Synchronization and Logical Clocks

Consistent Logical Checkpointing. Nitin H. Vaidya. Texas A&M University. Phone: Fax:

TIME ATTRIBUTION 11/4/2018. George Porter Nov 6 and 8, 2018

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

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

What are Embedded Systems? Lecture 1 Introduction to Embedded Systems & Software

Unit 7: RPC and Indirect Communication

Research Statement. Yehuda Lindell. Dept. of Computer Science Bar-Ilan University, Israel.

R. Guerraoui Distributed Programming Laboratory lpdwww.epfl.ch

Distributed Clock Synchronization Algorithms: A Survey

An Encapsulated Communication System for Integrated Architectures

What is a distributed system?

Module 7 - Replication

A Case Study of Agreement Problems in Distributed Systems : Non-Blocking Atomic Commitment

Designing Issues For Distributed Computing System: An Empirical View

Introduction to Real-Time Communications. Real-Time and Embedded Systems (M) Lecture 15

MODELS OF DISTRIBUTED SYSTEMS

Ruminations on Domain-Based Reliable Broadcast

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

Coordination and Agreement

Compact Sets. James K. Peterson. September 15, Department of Biological Sciences and Department of Mathematical Sciences Clemson University

Distributed Information Processing

2017 Paul Krzyzanowski 1

Three Models. 1. Time Order 2. Distributed Algorithms 3. Nature of Distributed Systems1. DEPT. OF Comp Sc. and Engg., IIT Delhi

DATA COMMUNICATION. Part TWO Data Transmission

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

TIME AND SYNCHRONIZATION. I. Physical Clock Synchronization: Motivation and Challenges

Distributed Systems. 05. Clock Synchronization. Paul Krzyzanowski. Rutgers University. Fall 2017

Snapshot Protocols. Angel Alvarez. January 17, 2012

Distributed Algorithms

A Quality of Service Decision Model for ATM-LAN/MAN Interconnection

Introduction to Distributed Systems (DS)

CSE 124: TIME SYNCHRONIZATION, CRISTIAN S ALGORITHM, BERKELEY ALGORITHM, NTP. George Porter October 27, 2017

Real-Time Entities and Images

Distributed Systems 2 Introduction

From eventual to strong consistency. Primary-Backup Replication. Primary-Backup Replication. Replication State Machines via Primary-Backup

Time in Distributed Systems

Concurrent and Distributed Systems Introduction

Big Data Management and NoSQL Databases

MODELS OF DISTRIBUTED SYSTEMS

Providing Real-Time and Fault Tolerance for CORBA Applications

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

BYZANTINE GENERALS BYZANTINE GENERALS (1) A fable: Michał Szychowiak, 2002 Dependability of Distributed Systems (Byzantine agreement)

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

EECS 498 Introduction to Distributed Systems

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

QoS User view From modelling to service class

Time Synchronization for AV applications across Wired and Wireless 802 LANs [for residential applications]

Transactions with Replicated Data. Distributed Software Systems

Structured communication (Remote invocation)

Formal Development of Fault Tolerant Transactions for a Replicated Database using Ordered Broadcasts

EVALUATING IEEE 1588 IN A HOMOGENOUS SWITCHED NETWORK TEST ARTICLE SEGMENT

Transcription:

Areas for Discussion System Models 2 Joseph Spring School of Computer Science MCOM0083 - Distributed Systems and Security Lecture - System Models 2 1 Architectural Models Software Layers System Architecture Variations on the Client-Server Model Interfaces and Objects Design requirements (Handout) Fundamental Models Failure Model (Hand Out) Security Model (Hand Out) Lecture - System Models 2 2 Introduction Each of the models we have discussed share some fundamental properties, they all: Consist of processes that communicate with each other by sending messages over a computer network Share the design requirements as outlined in the handout, concerning in particular: Performance and reliability characteristics of processes and networks Security of the resources in the system Lecture - System Models 2 3 Introduction We now consider models based on these fundamental properties that allow us to be more specific regarding their: Characteristics Failures Security risks Lecture - System Models 2 4 The Modelling Process - General 1. Brainstorm (Real World) 2. Simplifying assumptions ( Real World) 3. Define the problem ( Real World) 4. Analyse the problem (Abstraction) 5. Solve the problem (Abstraction) 6. Interpret the result (in Real World) 7. Accept or return to model and modify assumptions Lecture - System Models 2 5 System Models In general system models contain The essential ingredients (2. Simplifying Assumptions) Those that we require in order to Understand Reason about some aspect of a systems behaviour System models need to address: What are the main entities in the system? How do these entities interact? What are the characteristics that affect their Individual behaviour Collective behaviour Lecture - System Models 2 6 Lecture - System Models 2 1

System Models Purpose of a model To make explicit the assumptions made regarding the system being modelled Given the assumptions to generalise concerning what is and is not possible These generalisations may take the form of General purpose algorithms Desirable properties that are guaranteed Guarantees will depend upon:» logical analysis and (if appropriate) mathematical proof System Models The models we wish to look assist in discussing and reasoning about: Interaction Failure Security We consider aspects of the interaction model: Lecture - System Models 2 7 Lecture - System Models 2 8 Interaction Computation occurs within processes Processes interact by passing messages, which result in: Communication between processes information flow Coordination between processes synchronisation ordering of activities Lecture - System Models 2 9 Lecture - System Models 2 10 Model must take into account: Communication takes place with delays Delays are often considerable Accuracy for coordination of independent processes limited by: Delays Notion of time Difficulty in maintaining same notion of time across all computers in a distributed system (See Chapter 10) Lecture - System Models 2 11 We consider two significant factors affecting interacting processes in a distributed system: Communication performance Often a limiting characteristic Time Impossible to maintain a single global notion of time Lecture - System Models 2 12 Lecture - System Models 2 2

Performance of communication channels Realised in model over a network in various ways For example: Implementation of streams Message passing Performance Characteristics Latency Bandwidth Jitter Lecture - System Models 2 13 Computer Clocks and Timing Events Each computer has its own internal clock Local processes (same machine) can therefore obtain a value for the current time Hence two processes on different machines can associate timestamps with their events However Clock drift different time values Clock drift rate differ on different machines Corrections are required on distributed systems E.g. Use GPS: accuracy approx 1 microsecond? Lecture - System Models 2 14 Variants of the Synchronous Distributed Systems Strong assumptions regarding time Asynchronous Distributed Systems No assumptions regarding time Synchronous DS Hadzilacos and Toueg (1994) Strong assumptions regarding time Define synchronous distributed system to be one such that: Time to execute each step of a process has known upper and lower 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 Lecture - System Models 2 15 Lecture - System Models 2 16 Asynchronous DS No assumptions regarding time Define an asynchronous distributed system to be one such that there are no bounds on: Process execution speeds One process step may take a picosecond, another a cenury; all that can be said is that each step may take an arbitrary length of time Message transmission delays One message from process A to Process B may take a picosecond, another a cenury; so as with the above, a message may be received after an arbitrarily long time Clock drift rates Again clock drift rates are arbitrary Lecture - System Models 2 17 Event Ordering We are often interested in knowing whether an event (e.g. sending or receiving a message) at a process occurred before, after or concurrently with another event at another process The execution of a system can be described in terms of events and their ordering despite the lack of accurate clocks Lecture - System Models 2 18 Lecture - System Models 2 3

Event Ordering - Example Consider following set of exchanges between a group of users X, Y, Z and A on mailing list X Y Z A send m 1 receive m 1 send m 2 receive m 1 Physical send m 3 Time t 1 t 2 t 3 receive m 1 Lecture - System Models 2 19 Event Ordering - Example We note the order, in particular, for the arrival of messages at A Message Subject re:meeting arrives from Z who has read the two messages from X and Y and references these Message Subject Meeting arrives from X Message Subject re:meeting arrives from Y who has read the message from X and references it Lecture - System Models 2 20 Event Ordering - Logical Ordering Messages are received after they have been sent! X sends m 1 before Y receives m 1 Y sends m 2 before Y receives m 2 Replies are sent after messages are received! Y receives m 1 before Y sends m 2 Event Ordering - Clocks If clocks could be synchronised then Each message could carry the time on the local computers clock at instant sent Messages m 1, m 2 and m 3 would have times t 1, t 2 and t 3 respectively, with t 1 < t 2 < t 3 Messages received could be displayed to users according to their time ordering If the clocks are roughly synchronised then these timestamps are often in the correct order Lecture - System Models 2 21 Lecture - System Models 2 22 Event Ordering Logical Time Lamport (1978) Clocks cannot be synchronised perfectly across a distributed system Lamport proposed a model of Logical Time To be used to provide an ordering among the events at processes running in different computers in a distributed system Allows order to be inferred without recourse to clocks Logical time takes the idea of logical ordering further by assigning a number to each event Event Ordering Logical Time The numbers are assigned to each event according to its logical ordering Higher numbers are associated with later events X Y 1 4 send m 1 receive m 1 send m 2 2 3 Lecture - System Models 2 23 Lecture - System Models 2 24 Lecture - System Models 2 4

Summary Architectural Models Software Layers System Architecture Variations on the Client-Server Model Interfaces and Objects Design requirements (Handout) Fundamental Models Failure Model Security Model Lecture - System Models 2 25 References Coulouris, Dollimore & Kindberg: Distributed Systems Concepts and Design, Addison Wesley, 2001, ISBN 0201-61918-0 Hadzilacos, V. and Toueg, S. (1994). A Modular Approach to Fault-tolerant Broadcasts and Related Problems, Technical Report, Department of Computer Science, University of Toronto Lamport, L. (1978). Time, clocks and the ordering of events in a distributed system. Comms. ACM, Vol. 21, No. 7, pp.558-565 Lecture - System Models 2 26 Lecture - System Models 2 5