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

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

Verteilte Systeme (Distributed Systems)

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

Introduction. Distributed Systems IT332

Introduction to Distributed Systems (DS)

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

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

Introduction to Distributed Systems (DS)

Introduction to Distributed Systems

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

Distributed Systems Principles and Paradigms. Chapter 01: Introduction

Introduction to Distributed Systems

CA464 Distributed Programming

Outline. Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems

Chapter 1: Introduction 1/29

Distributed Systems Principles and Paradigms

TDP3471 Distributed and Parallel Computing

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

CSE 5306 Distributed Systems. Course Introduction

Distributed Information Processing

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

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

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

Client Server & Distributed System. A Basic Introduction

Concepts of Distributed Systems 2006/2007

Chapter 1 Introduction

Introduction Distributed Systems

Distributed Systems. Chapter 1: Introduction

02 - Distributed Systems

Distributed Systems Conclusions & Exam. Brian Nielsen

CS655: Advanced Topics in Distributed Systems [Fall 2013] Dept. Of Computer Science, Colorado State University

02 - Distributed Systems

Distributed Systems Conclusions & Exam. Brian Nielsen

Introduction to Distributed Computing

Module 1 - Distributed System Architectures & Models

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

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

Lecture 23 Database System Architectures

Distributed Systems Development

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

Verteilte Systeme (Distributed Systems)

System models for distributed systems

Introduction to Distributed Systems

Distributed Systems [COMP9243] Session 1, 2018

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

Lecture 9: MIMD Architectures

Distributed Operating Systems Spring Prashant Shenoy UMass Computer Science.

Assignment 5. Georgia Koloniari

Distributed and Operating Systems Spring Prashant Shenoy UMass Computer Science.

Advanced Distributed Systems

Chapter 20: Database System Architectures

Distributed Computing. Santa Clara University 2016

Chapter 18: Database System Architectures.! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems!

Chapter 1: Distributed Information Systems

Lecture 1: January 22

Chapter 18 Distributed Systems and Web Services

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

System Models for Distributed Systems

DS 2009: middleware. David Evans

Intro to distributed systems

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

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

Distributed OS and Algorithms

Distributed Middleware. Distributed Objects

Lecture 9: MIMD Architectures

Introduction. Chapter 1

Chapter 17: Distributed Systems (DS)

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

Chapter 2 System Models

Lecture 1: January 23

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

Electronic Payment Systems (1) E-cash

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

PART B UNIT II COMMUNICATION IN DISTRIBUTED SYSTEM PART A

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

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

CS4513 Distributed Computer Systems

Gustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2

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

Today: Distributed Objects. Distributed Objects

Craig Blitz Oracle Coherence Product Management

1.264 Lecture 16. Legacy Middleware

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

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

Adaptive Cluster Computing using JavaSpaces

Distributed Systems. Today. Next. Distributed systems The class Models and architectures. A brief, gentle intro to Go

Introduction to Distributed Systems

Advanced Operating Systems

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Distribution and Integration Technologies

Pervasive and Mobile Computing. Dr. Atiq Ahmed. Introduction Network Definitions Network Technologies Network Functions 1/38

Introduction to Distributed Systems

Chapter 6: Distributed Systems: The Web. Fall 2012 Sini Ruohomaa Slides joint work with Jussi Kangasharju et al.

Designing Issues For Distributed Computing System: An Empirical View

Chapter 2 Distributed Information Systems Architecture

CS454/654 Midterm Exam Fall 2004

Two Phase Commit Protocol. Distributed Systems. Remote Procedure Calls (RPC) Network & Distributed Operating Systems. Network OS.

Contents. Mobile Middleware Course. Introduction and Overview Sasu Tarkoma. Lecture Outline. Course Book. Mobile Evolution.

CAS 703 Software Design

Transcription:

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

Outline 1. History 2. What is a distributed system? 3. Key concepts and design goals 4. Architectural styles DS WS 2013 2

Lecture Material Slides available for download, but not sufficient for self-study! Please read on DS WS 2013 3

Recommended additional reading DS WS 2013 4

Prerequisites Data structures and algorithms (sequential) Operating systems / Systems programming Software engineering concepts Object-oriented programming For the lab: Java s support for modularity (packages and interfaces), object orientation, exceptions, distribution (RMI), code mobility (applets, class loader), and concurrency (threads and synchronization) DS WS 2013 5

OVERVIEW AND INTRODUCTION DS WS 2013 6

Evolution Until 1985 large and expensive stand-alone computers Powerful microprocessors (price/performance gain 1012 in 50 years) High-speed computer networks (LAN/WAN) -> composition of computing systems of large numbers of computers connected by a highspeed network increase DS WS 2013 7

The complete Internet 1969 DS WS 2013 8

Part of the US Internet 1980 DS WS 2013 9

Part of a network today DS WS 2013 10

Growth of the Internet DS WS 2013 11

Portable and handheld devices in a distributed system Inter net Web services, P2P and GRID computing Host intranet Bluetooth Wireless LAN GPRS, UMTS WAP gateway Home intranet Pr inter Camer a Mobile phone Laptop Host site mobile and pervasive computing DS WS 2013 14

Evolution of Distribution technologies Mainframe computers Workstations and local networks Client-server systems Internet-scale systems and the Web Sensor/actor networks in automation Mobile, ad-hoc, and adaptive systems Pervasive (ubiquitous) systems Today, less than 2% of processors go into personal computers! DS WS 2013 15

Emergency Hub Command Control Center Vehicle tracking system Logistics Management

Command Control Center for Managed Services

HVAC (Heating, Ventilation, Air Conditioning) Ecosystem

Water Ecosystem

Air Ecosystem

Monitoring

Chiller Plant Analysis Tool

ICT for energy savings in buildings Command Control Center

Remote Service Maintainence RETAIL VERTICAL LIFE & SAFETY VERTICAL INDUSTRIAL VERTICAL SECURITY & SURVEILLANCE BUILDINGS DATA CENTER VERTICAL TRANSPORT VERTICAL HOTELS VERTICAL HEALTH VERTICAL EDUCATIONAL VERTICAL AIRPORT VERTICAL ENERGY VERTICAL

Definition of a Distributed System (1) A collection of independent computers that appears to its users as a single coherent system. DS WS 2013 26

Definition of a Distributed System (2) A collection of autonomous computers linked by a computer network and supported by software that enables the collection to operate as an integrated facility. DS WS 2013 27

Definition of a Distributed System (3) You know you have one when the crash of a computer you have never heard of stops you from getting any work done. (Leslie Lamport) DS WS 2013 28

Types of Distributed Systems (1) Object/component based (CORBA, EJB, COM) File based (NFS) Document based (WWW, Lotus Notes) Coordination (or event-) based (Jini, JavaSpaces, publish/subscribe, P2P) Resource oriented (GRID, Cloud, P2P, MANET) Service oriented (Web services, Cloud, P2P) DS WS 2013 29

Types of Distributed Systems (2) Distributed Computing (cluster, GRID, cloud) Distributed Information Systems (EAI, TP, SOA) Distributed Pervasive Systems (often P2P, UPnP in home systems, sensor networks,...) DS WS 2013 30

Concepts of Distributed Systems Communication Concurrency and operating system support (competitive, cooperative) Naming and discovery Synchronization and agreement Consistency and replication Fault-tolerance Security DS WS 2013 31

KEY CONCEPTS AND DESIGN GOALS DS WS 2013 32

Why distribute at all? Connecting users to resources and services Basic function of a distributed system Dependability and Security Availability, Fault Tolerance (FT), Intrusion Tolerance,... Performance Latency, throughput,... Otherwise: Don t distribute, its far more complex hence expensive, error-prone,... DS WS 2013 33

Design goals in Distributed Systems Resource sharing (collaborative, competitive) Transparency Hiding internal structure, complexity Openness, Portability, Interoperability,... Services provided by standard rules Scalability Ability to expand the system easily Concurrency inherently parallel (not just simulated) Fault Tolerance (FT), availability DS WS 2013 34

The 8 Fallacies of Distributed Computing 1. The network is reliable 2. Latency is zero 3. Bandwidth is infinite 4. The network is secure 5. Topology doesn't change 6. There is one administrator 7. Transport cost is zero 8. The network is homogeneous Essentially everyone, when they first build a distributed application, makes the above eight assumptions. All prove to be false in the long run and all cause big trouble and painful learning experiences. (Peter Deutsch) DS WS 2013 35

Connecting Users and Services Access and share (remote) resources Business Models and policies (see next slide) Collaboration by information exchange Communication (Convergence, VoIP) Groupware and virtual organizations Electronic and mobile commerce Sensor/actor networks in automation and pervasive computing (fine grained distribution) May compromise security (tamper proof HW) and privacy (tracking, spam) DS WS 2013 36

Business Models DS WS 2013 37

Quality of Service (QoS) QoS is a concept with which clients can indicate the level of service (SLA) they require Examples: For real-time voice communication, the client prefers reliable delivery times over guaranteed delivery In financial applications, a client may prefer encrypted communication in favor of faster communication You can t have it all -> Trade-offs! DS WS 2013 38

Transparency Concept: Hide different aspects of distribution from the client. It is the ultimate goal of many distributed systems. It can be achieved by providing lower-level (system) services (i.e. use another layer). The client uses these services instead of hardcoding the information. The service layer provides a service with a certain Quality of Service. DS WS 2013 39

Transparency in a Distributed System Different forms of transparency in a distributed system (ISO, 1995). Transparency: Information Hiding Applied to Distributed Systems DS WS 2013 40

Transparency Scaling Transparency Performance Transparency Failure Transparency Mobility Transparency Replication Transparency Concurrency Transparency Access Transparency Location Transparency (ANSA and ISO RM-ODP) DS WS 2013 41

Degree of Transparency Not blindly try to hide every aspect of distribution Performance transparency difficult (LAN/WAN) Trade-off transparency/performance Failure masking Replica consistency Transparency is an important goal, but has to be considered together with all other non-functional requirements and with respect to particular demands DS WS 2013 42

Openness Offer services according to standard rules (syntax and semantics: format, contents, and meaning) Formalized in protocols Interfaces (IDL): semantics often informal Complete Interoperability: Communication between processes Neutral Portability: Different implementations of interface Flexibility: composition, configuration, replacement, extensibility (CBSE) DS WS 2013 43

Separating Policy from Mechanism Granularity: objects vs. applications? Component interaction and composition standards (instead of closed/monolithic) E.g. Web browser provides facility to store cached documents, but caching policy can be plugged in arbitrarily (parameters or algorithmic). DS WS 2013 44

Achieving openness Web examples Different Web servers and Web browsers interoperate New browsers may be introduced to work with existing servers (and vice versa) Plugin interface allows new services to be added DS WS 2013 45

Scalability A distributed system s ability to grow to meet increasing demands along several dimensions: 1. Size (users and resources) 2. Geographically (topologically) 3. Administratively (independent organizations/domains) System remains effective System and application software should not need to change Trade-Off scalability/security DS WS 2013 46

Scalability Challenges (size) Controlling the cost of physical resources: The quantity required should be O(n), i.e., the algorithm's performance is directly proportional to the size of the data set being processed Controlling the performance loss: In hierarchical system should be no worse than O(log n), i.e., the algorithm deals with a data set that is iteratively partitioned, like a balanced binary tree. Preventing software resources running out, but overcompensation may be even worse: Internet Addresses or Oracle7 2TB restriction Avoiding performance bottlenecks (centralized services, data, or algorithms) DS WS 2013 47

Performance Bottlenecks Concept Example Centralized services A single server for all users Centralized data A single on-line telephone book, central DNS Centralized algorithms Doing routing based on complete information Examples of scalability limitations with respect to size. DS WS 2013 48

Decentralized Algorithms - Principles 1. No machine has complete system state information 2. Machines make decisions based only on local (surrounding) information 3. Failure of one machine does not ruin the algorithm (no single point of failure) 4. No implicit assumption that a global clock exists DS WS 2013 49

Geographical Scalability LAN: Synchronous communication Fast Broadcast Highly reliable WAN: Asynchronous communication Slow Point to point (e.g. problems with location service) Unreliable DS WS 2013 50

Administrative Scalability e.g., Mobile Number portability, conflicting (orthogonal) policies: 1. Resource usage 2. Billing 3. Management 4. Security: Protection between the administrative domains trusted domains enforced limitations DS WS 2013 51

Scaling Techniques Hiding communication latencies Asynchronous communication (batch processing, parallel applications) Reduce overall communication (HMI) Distribution Hierarchies, domains, zones, split Replication Availability, load balance, reduce communication Caching: proximity, client decision Consistency issues may adverse scalability! DS WS 2013 52

Scaling Techniques (2) 1.4 The difference between letting: (a) a server or (b) a client check forms as they are being filled DS WS 2013 53

Scaling Techniques (3) 1.5 An example of dividing the DNS name space into zones. DS WS 2013 54

ARCHITECTURAL STYLES DS WS 2013 55

Dealing with complexity Abstraction (and modeling) Client, server, service Interface versus implementation Information hiding (encapsulation) Interface design Separation of concerns Layering (filesystem example: bytes, disc blocks, files) Client and server Components (granularity issues) DS WS 2013 56

Communication models Multiprocessors: shared memory (requires protection against concurrent access) Multicomputers: message passing Synchronization in shared memory Semaphores (atomic mutex variable) Monitors an abstract data type whose operations may be invoked by concurrent threads; different invocations are synchronized Synchronization in multicomputers: blocking in message passing DS WS 2013 57

Architectural Styles (1) Important styles of architecture for distributed systems Layered architectures Object-based architectures Data-centered architectures Event-based architectures DS WS 2013 58

Architectural Styles (2) DS WS 2013 59 The layered architectural style

Architectural Styles (3) DS WS 2013 60 The object-based architectural style

Architectural Styles (4) DS WS 2013 61 The event-based architectural style

Architectural Styles (5) The shared data-space architectural style. DS WS 2013 62

Centralized Architectures General interaction between a client and a server. DS WS 2013 63

Application Layering (1) Recall previously mentioned layers of architectural style The user-interface level The processing level The data level DS WS 2013 64

Application Layering (2) The simplified organization of an Internet search engine into three different layers. DS WS 2013 65

Multitiered Architectures (1) The simplest organization is to have only two types of machines: A client machine containing only the programs implementing (part of) the userinterface level A server machine containing the rest, the programs implementing the processing and data level DS WS 2013 66

Two-tier Architecture DS WS 2013 67

Multitiered Architectures (2) Vertical Distribution: Alternative client-server organizations (a) (e). DS WS 2013 68

Multi-tiered Architectures (3) An example of a server acting as client. DS WS 2013 69

Three-tier Architecture DS WS 2013 70

Application (System) Integration DS WS 2013 71

DS WS 2013 72

Summary A distributed system is a collection of computers working seamlessly together (single-system image pro/con!) Distributed systems have evolved to be pervasive Principles and techniques are needed to cope with the complexity of distributed systems (openness, scalability, architectural styles,...) Basic abstractions and concepts for distributed systems: client/server, layering (multitier), middleware, service, QoS,... DS WS 2013 73

Thanks for your attention Prof.Dr. Schahram Dustdar Distributed Systems Group Vienna University of Technology dustdar@dsg.tuwien.ac.at dsg.tuwien.ac.at DS WS 2013 74