Principles and characteristics of distributed systems and environments



Similar documents
How To Understand The Concept Of A Distributed System

Distributed Systems LEEC (2005/06 2º Sem.)

Distributed Systems. REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1

Distributed Operating Systems

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

Distributed System: Definition

Software Concepts. Uniprocessor Operating Systems. System software structures. CIS 505: Software Systems Architectures of Distributed Systems

Distributed Systems. Examples. Advantages and disadvantages. CIS 505: Software Systems. Introduction to Distributed Systems

Basics. Topics to be covered. Definition of a Distributed System. Definition of a Distributed System

How To Make A Distributed System Transparent

1.4 SOFTWARE CONCEPTS

Virtual machine interface. Operating system. Physical machine interface

CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun

CORBA and object oriented middleware. Introduction

Chapter 1: Distributed Systems: What is a distributed system? Fall 2008 Jussi Kangasharju

Chapter 18: Database System Architectures. Centralized Systems

CS 5523 Operating Systems: Intro to Distributed Systems

A Comparison of Distributed Systems: ChorusOS and Amoeba

CMSC 611: Advanced Computer Architecture

Symmetric Multiprocessing

Interconnection Networks

Distribution transparency. Degree of transparency. Openness of distributed systems

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Centralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures

Lecture 2 Parallel Programming Platforms

Client/Server and Distributed Computing

Introduction to Cloud Computing

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Middleware and Distributed Systems. Introduction. Dr. Martin v. Löwis

Operating Systems 4 th Class

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Distributed Databases

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

Cluster, Grid, Cloud Concepts

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

Network Attached Storage. Jinfeng Yang Oct/19/2015

High Performance Computing. Course Notes HPC Fundamentals

1 Organization of Operating Systems

Scalability and Classifications

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters

Lecture 23: Multiprocessors

Components of a Computer System

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Network File System (NFS) Pradipta De

System Interconnect Architectures. Goals and Analysis. Network Properties and Routing. Terminology - 2. Terminology - 1

Parallel Programming

UNIT 2 CLASSIFICATION OF PARALLEL COMPUTERS

Web DNS Peer-to-peer systems (file sharing, CDNs, cycle sharing)

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association

A distributed system is defined as

DISTRIBUTED SYSTEMS AND CLOUD COMPUTING. A Comparative Study

System types. Distributed systems


Chapter 1 - Web Server Management and Cluster Topology

SCALABILITY AND AVAILABILITY

The Lattice Project: A Multi-Model Grid Computing System. Center for Bioinformatics and Computational Biology University of Maryland

Design and Implementation of the Heterogeneous Multikernel Operating System

Chapter 7: Distributed Systems: Warehouse-Scale Computing. Fall 2011 Jussi Kangasharju

Distributed Systems. Security concepts; Cryptographic algorithms; Digital signatures; Authentication; Secure Sockets

Introduction to CORBA. 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture

Introduction to Cloud Computing

Chapter 2 Parallel Architecture, Software And Performance

Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications

TCP Servers: Offloading TCP Processing in Internet Servers. Design, Implementation, and Performance

DISTRIBUTED AND PARALLELL DATABASE

COMP 422, Lecture 3: Physical Organization & Communication Costs in Parallel Machines (Sections 2.4 & 2.5 of textbook)

Vorlesung Rechnerarchitektur 2 Seite 178 DASH

Distributed Computing

Introduction to Parallel Computing. George Karypis Parallel Programming Platforms

OpenMosix Presented by Dr. Moshe Bar and MAASK [01]

Principles of Operating Systems CS 446/646

Distributed Systems and Recent Innovations: Challenges and Benefits

Chapter 2. Multiprocessors Interconnection Networks

Chapter 17: Distributed Systems

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Middleware for Heterogeneous and Distributed Information Systems

Chapter 12: Multiprocessor Architectures. Lesson 04: Interconnect Networks

Interconnection Networks Programmierung Paralleler und Verteilter Systeme (PPV)

MOSIX: High performance Linux farm

Load Balancing in Distributed Data Base and Distributed Computing System

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.

Synchronization. Todd C. Mowry CS 740 November 24, Topics. Locks Barriers

Introduction to Distributed Systems

1.5 Distributed Systems

IBM Deep Computing Visualization Offering

Distributed Data Management

IV Distributed Databases - Motivation & Introduction -

Chapter 14: Distributed Operating Systems

Amoeba Distributed Operating System

Chapter 11 Distributed File Systems. Distributed File Systems

Lecture 11: Multi-Core and GPU. Multithreading. Integration of multiple processor cores on a single chip.

Operating System Concepts. Operating System 資 訊 工 程 學 系 袁 賢 銘 老 師

How To Design A Data Center

Software design (Cont.)

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

Transcription:

Principles and characteristics of distributed systems and environments

Definition of a distributed system Distributed system is a collection of independent computers that appears to its users as a single coherent system. Distributed computing is decentralised and parallel computing, using two or more computers communicating over a network to accomplish a common objective or task. The types of hardware, programming languages, operating systems and other resources may vary drastically. Leslie Lamport: A distributed system is one I which the failure of a computer you didn t even know existed can render your computer unusable.

Definition cont. 2 aspects Deals with hardware: machines are autonomous Deals with software: the users think they are dealing with a single system Important characteristics Communication is hidden from users Applications can interact with uniform and consistent way Relatively easy to expand or scale (DS will normally be continuously available) A distributed system should be functionally equivalent to the systems of which it is composed.

Distributed system as Middleware service If the system as a whole looks and acts like a classical single-processor timesharing system, it qualifies as a distributed system.

Goals A DS should easily connect users to resources; it should hide the fact that resources are distributed across a network; should be open and scalable. 4 goals: Connecting users and resources Transparency Openness Scalability

Connecting users and resources Share resources (hw components, data) Groupware Security aspects

Transparency Transparent ~ present itself to users and applications as if it were only a single computer system Different forms of transparency in a distributed system ANSA Reference Manual [1989] and ISO Reference Model For Open Distributed Processing (RM-ODP) [1992/7]

Openness System that offers services according to standard rules that describe the syntax and semantics Generally specified through interfaces, often described in Interface Definition Language (IDL) Interoperability characterizes two implementations of system can co-exists and work together Portability characterizes to what extent an application developed for a distributed system A can be executed, without modification, on distributed system B that implements the same interface as A Small replaceable and adaptable parts - provide definitions of not only the highest-level interfaces, those used by applications, but also definitions for interfaces to internal parts

Scalability Measure at least 3 different dimensions Size easily add more users and resources to system Geographically scalable system lie far apart Administratively scalable independent administrative organizations Scalability in one or more dimensions often means loss of performance should not be significant.

Scalability cont. Example of scalability limitations Performance Congestion of communication links Only decentralized algorithms should be used (no machine has complete information; decisions based on local information; failure of one machine does not ruin the algorithm; no implicit assumption of global clock)

Scaling techniques 3 techniques for scaling Hiding communication latencies - Asynchronous communication Distribution - domains Replication caching -> consistency problems!

Why Distributed Systems? Geographically distributed environment Speed up Parallel vs. Distributed Systems (synchronous SIMD or MIMD; asynchronous process) Resource sharing HW and SW (databases) Fault tolerance Detection, Recover Logical distribution of functional capabilities: multiple processes, interprocess communication, disjoint address space, collective goal

Issues in Distributed Systems Knowledge of process Identity, Identity of it s immediate neighbors, communication channel to neighbors Network topology Completely or sparsely connected, message routing, channel uni/bi-directional Degree of synchronization Clock drift, propagation delay Failures Type of failure and duration of failure Scalabilty Time and space complexity (O(log N) ~ excellent, O(N) ~ pure)

Common Subproblems Leader election Mutual exclusion Time synchronization Global state Replica management

RM-ODP Reference Model Open Distributed Processing ITU-T X.9xx standards, X.901 Overview Viewpoints (and their languages) Enterprise Information Computational Engineering Technology

Hardware concepts DS consist of multiple CPU several different ways of HW organization Multiprocessors have shared memory Multicomputers without shared memory

Hardware concepts cont. Architecture of interconnection network Bus Switched Distributed computer system (significant for multicomputers) Homogenous single interconnection network Heterogeneous different networks (LAN connected through FDDI, ATM)

Multiprocessors Coherent Overloaded bus > cache memory between CPU and bus (hit rate) Bus suitable until 256 CPUs

Multiprocessors cont. Crossbar switch crosspoint switch n CPUs and n memories = n 2 crosspoint switches Omega network 2x2 switches, each two inputs and two outputs Fast switching, not cheap NUMA (NonUniform Memory Access) Fast access to local memory, slow to other s Better average access times than omega networks

Multiprocessors cont. Crossbar switch Omega network

Homogenous Multicomputer Systems Relative easy acording multiprocessors CPU-to-CPU and CPU-to-memory communication System Area Networks (SANs) High performance interconnection network Bus-based Fast Ethernet 25-100 nodes Switch-based messages routed Mesh, hypercube Vary widely from Massively Parallel Processors (MPPs) to Clusters of Workstations (COWs)

Heterogenous Multicomputer Systems Most distributed systems build on it Due to scale, inherent heterogeneity, and most of all, lack of global system view, sophisticated software is needed to build apps for heterogeneous multicomputers. Provide transparency for apps. Example DAS http://www.cs.vu.nl/~bal/das.html I-way project

Software concepts Determines what a DS actually looks like Resource manager for underlying hardware Operating systems for distributed computers Tightly-coupled distributed operating system (multiprocessors, homogenous multicomputer systems) Loosely-coupled network operating system (heterogeneous multicomputer systems) Middleware enhancements to services of network operating systems distribution transparency

Software concepts cont.

Uniprocessor Operating Systems Implement a virtual machine Apps protected each other OS should be in full control of how hw resources are used and shared Kernel mode User mode Architecture Monolithic kernel Microkernel

Multiprocessor Operating Systems Support for multiple CPUs having access to shared memory IPC done through memory protect against simultaneous access Synchronization primitives Semaphore atomic operations down and up Monitor private variable and public procedures (operations)

Multicomputer Operating Systems Different structure and complexity than multiprocessor operating systems Communication done by message passing Software implementation of shared memory not always Message passing primitives may vary widely in different OS

Multicomputer Operating Systems cont.

Multicomputer Operating Systems cont. Reliability of message delivery?

Distributed Shared Memory Systems Page-based distributed shared memory Address space divided into pages (4kB or 8kB) When CPU references address not present locally, trap occurs, OS fetches the page Essential normal paging

Distributed Shared Memory Systems cont. (a) Pages in DSM (b) CPU 1 references page 10 (c) Situation if page 10 is read only and replication used

Network Operation Systems Do not assume that underlying hardware is homogeneous and that it should be managed as if it were a single system Facilities to allow users to make use of the services available on specific machine Service accessed commonly using commands rlogin machine rcp machine1:file1 machine2:file2

Network Operation Systems cont. Network operating systems are clearly more primitive than distributed operating systems. The main distinction between the two types of operating systems is that distributed operating systems make serious attempt to realize full transparency, that is, provide a single-system view.

Middleware DOS and NOS don t qualify definition of DS Modern distributed systems are constructed by means of an additional layer called middleware. Additional layer of software between applications and the network operating system

Middleware cont. Goal is to hide heterogeneity of the underlying platforms from applications

Middleware cont. Middleware models (paradigm) Everything as file (simple) Plan 9, UNIX Distributed File Systems reasonable scalable which contributes popularity Remote Procedure Calls unaware of network communication Distributed Objects unaware of network communication Distributed documents - WWW

Middleware cont. Middleware services high-level Communication facilities - Access transparency Naming allows entities to be shared and accessed Persistence through distributed file system or database Distributed transactions atomic multiple read and write operations; write operation succeeds or fails Security can t rely on the underlying local operating system, must be implemented in middleware, security has turned out to be one of the hardest services to implement

Middleware and Openness Modern distributed systems as middleware Applications are independent of operating system Independence replaced by strong dependency of specific middleware Need that middleware protocols and interfaces are the same in different implementations

Comparison between Systems

Client Server Model Server process implementing a specific service Client process that requests service from server by sending request and waiting for response

Client Server Model cont. Application layering Distinction of 3 levels The user-interface level The processing level The data level

Multitiered architectures Three-tier architecture physically

Modern architectures Vertical distribution multitiered architectures Horizontal distribution distribution split into equivalent parts (clients or servers) Peer-to-peer distribution