Introduction to Distributed Systems (DS)

Similar documents
Introduction to Distributed Systems (DS)

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

Distributed Systems INF Michael Welzl

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

Introduction. Distributed Systems IT332

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

Introduction Distributed Systems

CA464 Distributed Programming

CSE 5306 Distributed Systems. Course Introduction

Chapter 1: Introduction 1/29

Chapter 1 Introduction

Distributed Systems Principles and Paradigms

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

Distributed Systems Principles and Paradigms. Chapter 01: Introduction

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

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

Distributed Information Processing

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

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

Distributed Operating Systems Spring Prashant Shenoy UMass Computer Science.

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

Introduction to Distributed Systems

Distributed Systems. Bina Ramamurthy. 6/13/2005 B.Ramamurthy 1

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

Client Server & Distributed System. A Basic Introduction

Introduction to Distributed Systems

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

System Models for Distributed Systems

Verteilte Systeme (Distributed Systems)

TDP3471 Distributed and Parallel Computing

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

02 - Distributed Systems

Introduction to Distributed Systems

Distributed and Operating Systems Spring Prashant Shenoy UMass Computer Science.

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

Intro to distributed systems

02 - Distributed Systems

Module 1 - Distributed System Architectures & Models

DS 2009: middleware. David Evans

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

Distributed Systems Development

3C05 - Advanced Software Engineering Thursday, April 29, 2004

CHALLENGES IN TESTING OF DISTRIBUTED SYSTEMS

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host

Lecture 1: January 22

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

Distributed Systems [COMP9243] Session 1, 2018

Today: Distributed Middleware. Middleware

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

Advanced Distributed Systems

Distributed Computing. Santa Clara University 2016

System models for distributed systems

Distributed Systems. Chapter 1: Introduction

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

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

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

Mobile Computing (3C05) Outline. Introduction

Lecture 1: January 23

Distributed Middleware. Distributed Objects

Introduction to Distributed Computing Systems

Ian Foster, CS554: Data-Intensive Computing

Cycle Sharing Systems

Assignment 5. Georgia Koloniari

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS

Introduction to Distributed Systems

Advanced Operating Systems

Chapter 2 System Models

Introduction to Distributed Systems

Verteilte Systeme (Distributed Systems)

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

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

Motivation for peer-to-peer

Chapter 1: Distributed Information Systems

Systematic Cooperation in P2P Grids

SAI/ST course Distributed Systems

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

Lecture 1: Taxonomy for Distributed Systems

Distributed Systems Conclusions & Exam. Brian Nielsen

Support for resource sharing Openness Concurrency Scalability Fault tolerance (reliability) Transparence. CS550: Advanced Operating Systems 2

Unit 7: RPC and Indirect Communication

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

Chapter 4 Communication

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

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

Introduction to Distributed Systems

A Taxonomy of the Quality Attributes for Distributed Applications

Concepts of Distributed Systems 2006/2007

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

Electronic Payment Systems (1) E-cash

Introduction to Distributed Systems. Fabienne Boyer, LIG,

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

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

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

Multiprocessors 2007/2008

PART B UNIT II COMMUNICATION IN DISTRIBUTED SYSTEM PART A

Introduction to Distributed Systems

Grid Computing. Lectured by: Dr. Pham Tran Vu Faculty of Computer and Engineering HCMC University of Technology

Mobile Middleware Course. Mobile Platforms and Middleware. Sasu Tarkoma

Distributed Systems

Transcription:

Introduction to Distributed Systems (DS) INF5040/9040 autumn 2009 lecturer: Frank Eliassen Frank Eliassen, Ifi/UiO 1 Outline What is a distributed system? Challenges and benefits of distributed system Distribution transparencies Types of distributed systems Pitfalls when developing distributed systems Frank Eliassen, Ifi/UiO 2 1

What is a distributed system? Many definitions [Coulouris & Emmerich] A distributed system consists of hardware and software components located in a network of computers that communicate and coordinate their actions only by passing messages [Tanenbaum & van Steen] A distributed system is a collection of independent computers that appears to its users as a single coherent system. [Lamport] A distributed system is a system that prevents you from doing any work when a computer you have never heard about, fails. The above definitions take different perspectives Operational perspective User perspective DS characteristcs perspective Frank Eliassen, Ifi/UiO 3 A distributed system organized as middleware Layer of software offering a single-system view Offers portability and interoperability Simplifies development of distributed applications and services DISTRIBUTION MIDDEWARE Local OS 1 Platform Independent API Platform Dependent API Local OS 2... Local OS n Distributed applications and services - transaction oriented (ODTP XA) - message oriented(ibm MQSeries) - remote procedure call (X/Open DCE) - object-based (CORBA, COM, Java) Frank Eliassen, Ifi/UiO 4 2

Networks and distributed systems The OSI RM Application Presentation Session Transport Network Link Physical Internet View Application TCP/UDP IP MAC Physical Distributed Systems View Application Distributed Sys. Middleware Operating System & Transport Network Link Physical Today: Cross-layering is applied in both worlds Frank Eliassen, Ifi/UiO 5 Implications of distributed systems Independent failure of components partial failure & incomplete information Unreliable communication Loss of connection and messages. Message bit errors Unsecure communication Possibility of unauthorised recording and modification of messages Expensive communication Communication between computers usually has less bandwidth, longer latency, and costs more, than between independent processes on the same computer Concurrency components execute in concurrent processes that read and update shared resources. Requires coordination No global clock makes coordination difficult (ordering of events) Frank Eliassen, Ifi/UiO 6 3

Goals of distributed systems resource sharing the possibility of using available resources any where openness an open distributed system can be extended and improved incrementally requires publication of component interfaces and standards protocols and for accessing interfaces scalability the ability to serve more users, provide acceptable response times with increased amount of data fault tolerance maintain availability even when individual components fail allow heterogeneity network and hardware, operating system, programming languages, implementations by different developers Frank Eliassen, Ifi/UiO 7 Resource sharing The opportunity to use available hardware, software or data any where in the system Resource managers control access, offer a scheme for naming, and controls concurrency A resource manager is a software module that manages a resource of a particular type A resource sharing model describes how resources are made available resources can be used service provider and user interact with each other Frank Eliassen, Ifi/UiO 8 4

Models for resource sharing Client-server resource model Server processes act as resource managers, and offer services (collection of procedures) Client processes send requests to servers HTTP defines a client-server resource model Object-based resource model Any entity in a process is modeled as an object with a message based interface that provides access to its operations Any shared resource is modeled as an object Object based middlewares (CORBA, Java RMI) defines objectbased resource models Frank Eliassen, Ifi/UiO 9 Scalability A system is scalable if it remains effective when there is a significant increase in the amount of resources (data) and number of users Internet: no of users and services has grown enormously Scalability denotes the ability of a system to handle an increasing future load Requirements of scalability often leads to a distributed system architecture (several computers) Frank Eliassen, Ifi/UiO 10 5

Scalability problems (1) Often caused by centralized solutions Frank Eliassen, Ifi/UiO 11 Scalability problems (2) Characteristics of decentralized algorithms: No machine has complete information about the system state. Machines make decisions based only on local information. Failure of one machine does not ruin the algorithm. There is no implicit assumption that a global clock exists. Frank Eliassen, Ifi/UiO 12 6

Scaling techniques (1) Distribution splitting a resource (such as data) into smaller parts, and spreading the parts across the system (cf DNS) Replication replicate resources (services, data) across the system increases availability, helps to balance load caching (special form of replication) Hiding communication latencies avoid waiting for responses to remote service requests (use asynchronous communication or design to reduce the amount of remote requests) Frank Eliassen, Ifi/UiO 13 Scaling techniques (2) Reducing amount of remote requests: The difference between letting (a) a server or (b) a client check forms as they are being filled. Frank Eliassen, Ifi/UiO 14 7

Failure handling Hardware, software and network fail!! DS must maintain availability even in cases where hardware/software/network have low reliability Failures in distributed systems are partial makes error handling particularly difficult Many techniques for handling failures Detecting failures (checksum a.o.) Masking failures (retransmission in protocols) Tolerating failures (as in web-browsers) Recovery from failures Redundancy (replicate servers in failure-independent ways) Frank Eliassen, Ifi/UiO 15 Example: Google File-System Early days Challenges: today - Scalability - Fault-tolerance - Auto recovery Frank Eliassen, Ifi/UiO 16 8

Distribution transparency An important goal of a distributed system is to hide the fact that its processes and resources are physically distributed across multiple computers A distributed system that is able to present itself to its users and applications as if it were only a single computer system is said to be transparent Frank Eliassen, Ifi/UiO 17 Transparency in a distributed system Different forms of transparency in a distributed system (ISO, 1995). Trade-off between degree of transparency and performance of a system Frank Eliassen, Ifi/UiO 18 9

Types of distributed system Distributed Computing Systems Used for high performance computing tasks Cluster computing systems Grid computing systems Distributed Information Systems Systems mainly for management and integration of business functions Transaction processing systems Enterprise Application Integration Distributed Pervasive (or Ubiquitous) Systems Mobile and embedded systems Home systems Sensor networks Frank Eliassen, Ifi/UiO 19 Cluster Computing Systems Collection of similar PCs, closely connected, all run same OS An example of a cluster computing system. Frank Eliassen, Ifi/UiO 20 10

Grid Computing Systems Federation of autonomous and heterogeneous computer systems (HW,OS,...), several adm domains A layered architecture for grid computing systems. Frank Eliassen, Ifi/UiO 21 Enterprise Application Integration Allowing existing applications to directly exchange information using communication middleware Middleware as a communication facilitator in enterprise application integration Frank Eliassen, Ifi/UiO 22 11

Example communcation middleware: CORBA Clients may invoke methods of remote objects without worrying about: object location, programming language, operating system platform, communcation protocols or hardware. X invoke Z s method foo() Y Z foo() Different programming languages (or object models) IDL IDL IDL Common object model Object Request Broker (ORB) RMI over IIOP Frank Eliassen, Ifi/UiO 23 Distributed Pervasive Systems Devices in distributed pervasive systems discovers the environment and establishes themselves in this environment as best as possible. Requirements for pervasive applications Embrace contextual changes. Encourage ad hoc composition. Recognize sharing as the default. Frank Eliassen, Ifi/UiO 24 12

QUA/MUSIC context-aware adaptation middleware for distributed pervasive systems temperature environment context light varying context user provided utility context-aware, self-adaptive applications device context user context monitors optimizes MUSIC Middleware adapts activity (e.g., driving) position memory use CPU use battery Frank Eliassen, Ifi/UiO 25 Pitfalls when Developing Distributed Systems False assumptions made by first time developer: The network is reliable. The network is secure. The network is homogeneous. The topology does not change. Latency is zero. Bandwidth is infinite. Transport cost is zero. There is one administrator. Frank Eliassen, Ifi/UiO 26 13

Summary Distributed systems: components located in a network that communicates and coordinates their actions exclusively by sending messages. Consequences of distributed systems Independent failure of components Unsecure communication No global clock Distribution transparency: providing a single computer system view Requirements like resource sharing, openness, scalability, fault tolerance and heterogeneity can be satisfied by distributed systems Many pitfalls when developing distributed systems Frank Eliassen, Ifi/UiO 27 14