How To Understand The Concept Of A Distributed System



Similar documents
Principles and characteristics of distributed systems and environments

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

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

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

Virtual machine interface. Operating system. Physical machine interface

How To Make A Distributed System Transparent

Distribution transparency. Degree of transparency. Openness of distributed systems

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

Chapter 18: Database System Architectures. Centralized Systems

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

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

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

A distributed system is defined as

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

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

1.4 SOFTWARE CONCEPTS

CS3250 Distributed Systems

CORBA and object oriented middleware. Introduction

CS 5523 Operating Systems: Intro to Distributed Systems

Symmetric Multiprocessing

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

Interconnection Networks

Lecture 2 Parallel Programming Platforms

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

Network Attached Storage. Jinfeng Yang Oct/19/2015

Client/Server and Distributed Computing

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

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Mobile and Heterogeneous databases Database System Architecture. A.R. Hurson Computer Science Missouri Science & Technology

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

Introduction to Cloud Computing

A Comparison of Distributed Systems: ChorusOS and Amoeba

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

1 Organization of Operating Systems

Operating Systems 4 th Class

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation

Tier Architectures. Kathleen Durant CS 3200

The Service Availability Forum Specification for High Availability Middleware

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

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

How To Write A Network Operating System For A Network (Networking) System (Netware)

Chapter 16 Distributed Processing, Client/Server, and Clusters

High Performance Computing. Course Notes HPC Fundamentals

High Performance Cluster Support for NLB on Window

Distributed Systems Lecture 1 1

System types. Distributed systems

Middleware Lou Somers

Vorlesung Rechnerarchitektur 2 Seite 178 DASH

DISTRIBUTED AND PARALLELL DATABASE

Cluster, Grid, Cloud Concepts

SCALABILITY AND AVAILABILITY

Middleware: Past and Present a Comparison

Amoeba Distributed Operating System

Network File System (NFS) Pradipta De

Chapter 11 I/O Management and Disk Scheduling


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

What is Middleware? Software that functions as a conversion or translation layer. It is also a consolidator and integrator.

The Service Revolution software engineering without programming languages

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

System Models for Distributed and Cloud Computing

FROM RELATIONAL TO OBJECT DATABASE MANAGEMENT SYSTEMS

SAN Conceptual and Design Basics

Dr Markus Hagenbuchner CSCI319. Distributed Systems

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

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

DISTRIBUTED SYSTEMS AND CLOUD COMPUTING. A Comparative Study

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

Scalability and Classifications

Scalable Linux Clusters with LVS

Chapter 11 Distributed File Systems. Distributed File Systems

Transparency in Distributed Systems

ENHANCED HYBRID FRAMEWORK OF RELIABILITY ANALYSIS FOR SAFETY CRITICAL NETWORK INFRASTRUCTURE

Classic Grid Architecture

Distributed Systems and Recent Innovations: Challenges and Benefits

Chapter 17: Distributed Systems

Chapter 3. Database Environment - Objectives. Multi-user DBMS Architectures. Teleprocessing. File-Server

Lecture 23: Multiprocessors

Distributed Operating Systems. Cluster Systems

Distributed Databases

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

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

Kernel. What is an Operating System? Systems Software and Application Software. The core of an OS is called kernel, which. Module 9: Operating Systems

Switched Interconnect for System-on-a-Chip Designs

Event-based middleware services

Operating system Dr. Shroouq J.

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

Proactive, Resource-Aware, Tunable Real-time Fault-tolerant Middleware

Chapter 2: Remote Procedure Call (RPC)

In Memory Accelerator for MongoDB

PARALLEL & CLUSTER COMPUTING CS 6260 PROFESSOR: ELISE DE DONCKER BY: LINA HUSSEIN

Architectural Level Power Consumption of Network on Chip. Presenter: YUAN Zheng

Transcription:

Distributed Operating Systems Introduction Ewa Niewiadomska-Szynkiewicz and Adam Kozakiewicz ens@ia.pw.edu.pl, akozakie@ia.pw.edu.pl Institute of Control and Computation Engineering Warsaw University of Technology E&IT Faculty, WUT DOS / Introduction p. 1

Lecture (1) Introduction: Definition of a Distributed System (DS) Goals and Architecture of Distributed System Hardware Concepts Software Concepts Operating Systems Modern Architectures E&IT Faculty, WUT DOS / Introduction p. 2

Distributed System Definition Distributed System (DS) Collection of independent computers that appears to its users as a single coherent system. Essential aspects: hardware - the machines are autonomous software - the user think they are dealing with the single system The important characteristics: the differences between the various computers and the ways in which they communicate are hidden from users, users and applications can interact with DS in a consistent and uniform way, regardless of where and when interaction takes place. Examples: network of workstations in a university, workflow information system that supports the automatic processing of orders, World Wide Web, etc. E&IT Faculty, WUT DOS / Introduction p. 3

Distributed System Layered Architecture To support heterogenous computers and networks while offering a single system view, DS are often organized by means of a layer of software that is logically placed between higher-level (users and applications) and lower level (local OS). Machine A Machine B Machine C Distributed applications Middleware service Local OS Local OS Local OS Network A distributed system is organized as middleware. Note that the middleware layer extends over multiple machines. E&IT Faculty, WUT DOS / Introduction p. 4

Distributed System Goals A distributed system should easily connect users to resources (hardware and software), hide the fact that resources are distributed across a network, be open and scalable. The goals that should be met building DS worth and effort: connecting users and resources, concurrency, transparency, openness, scalability, fault tolerance. E&IT Faculty, WUT DOS / Introduction p. 5

Resource sharing Allowing multiple users and applications to share resources (local and remote): hardware: CPU, memories, peripheral devices, the network,... software: data bases, data files, programs,... Resource manager: application managing the set of resources of a given type. Problems: Security is very important. In current practice, systems provide little protection against intrusion on communication. E&IT Faculty, WUT DOS / Introduction p. 6

Concurrency Ability to processing multiple tasks at the same time Each user does not notice that the other is making use of the same resource. Concurrent access to the shared resource leaves it in a consistent state (consistency can be achieved through locking mechanisms). E&IT Faculty, WUT DOS / Introduction p. 7

Transparency in a Distributed System An important goal of DS is to hide the fact that its processes and resources are physically distributed across multiple computers. Transparent system A distributed system that is able to present itself to users and applications as if it were only a single computer system. E&IT Faculty, WUT DOS / Introduction p. 8

Different forms of Transparency in DS Access: differences in data representation, naming conventions, files manipulation should be hidden from users and applications. Location: naming plays an important role. Replication: resources replicated to increase availability or improve performance. Failure: the main difficulty lies in inability to distinguish between a dead resource and a painfully slow resource. E&IT Faculty, WUT DOS / Introduction p. 9

Degree of Transparency Some attempts to blindly hide all distribution aspects is not always a good idea. A trade-off between a high degree of transparency and the performance. The goal not to be achieved: parallelism transparency. Parallelism transparency Transparency level with which a distributed system is supposed to appear to the users as a traditional uniprocessor timesharing system. E&IT Faculty, WUT DOS / Introduction p. 10

Openness Openness An open distributed system is a system that offers services according to standard rules that describe the syntax and semantics of those services. Completeness and neutrality of specifications as important factors for interoperability and portability of distributed solutions. completeness - all necessary to make an implementation as it has been specified, neutrality - specification do not prescribe what an implementation should look like. Interoperability The extent by which two implementations of systems from different manufactures can cooperate. Portability To what extent an application developed for A can be executed without modification on some B which implements the same interfaces as A. E&IT Faculty, WUT DOS / Introduction p. 11

Scalability Scalability of a system can be measured along at least three dimensions: scalable with respect to its size (more users and resources can be easily added to the system), geographically scalable systems (users and resources may lie apart), system administratively scalable (it can still be easy to manage even if it spans many independent administrative organizations). Examples of scalability limitations E&IT Faculty, WUT DOS / Introduction p. 12

Scaling Techniques (1) Scalability problems: problems caused by limited capacity of servers and network. Techniques for scaling: asynchronous communication (to hide communication latencies), distribution (splitting into smaller parts and spreading), replication (to increase availability and to balance the load), caching (as a special form of replication). Decentralized Algorithms 1. No machine has complete information about the system state. 2. Machines make decisions based only on local information. 3. Failure of one machine does not ruin the algorithm. 4. There is no implicit assumption that a global clock exists. E&IT Faculty, WUT DOS / Introduction p. 13

Scaling Techniques (2) Client Server FIRST NAME LAST NAME E-MAIL MAARTEN VAN STEEN STEEN@CS.VU.NL N E T R A A M (a) Check form Process form Client Server FIRST NAME LAST NAME E-MAIL MAARTEN VAN STEEN STEEN@CS.VU.NL MAARTEN VAN STEEN STEEN@CS.VU.NL Check form (b) Process form A difference between letting: a a server b a client check forms as they are being filled. E&IT Faculty, WUT DOS / Introduction p. 14

Scaling Techniques (3) Generic Countries int com edu gov mil org net jp us nl Z1 sun yale acm ieee ac co oce vu Z2 eng cs eng jack jill keio nec cs Z3 ai linda cs csl flits fluit robot pc24 An example of dividing the DNS name space into zones. E&IT Faculty, WUT DOS / Introduction p. 15

Fault Tolerance A system can provide its service even in the presence of faults (a user does not notice that a resource fails to work properly and that the system subsequently recovers from that failure) Solutions for building the fault-tolerant systems: physical redundancy (hardware and software) - extra equipment or processes are added to make the system as a whole to tolerate the loss or malfunctioning of some components, reliable group communication, applications that recover the data and remove the faults. E&IT Faculty, WUT DOS / Introduction p. 16

Hardware Concepts Shared memory Private memory M M M M M M P P P P P P P M P Bus-based M M M M M M M P P P P Switch-based P P P P P Processor M Memory Different basic organizations and memories in distributed computer systems. Multiprocessors - systems built of a collection of independent computers that have shared memory. Multicomputers - systems built of a collection of independent computers that have their local memory (not shared). E&IT Faculty, WUT DOS / Introduction p. 17

Interconnection Network Architectures We distinguish two categories based on the architecture of the interconnection network: bus There is a single network, bus, cable or other medium that connects all the machines (e.g. cable television). switch Switched systems do not have a single backbone. There are individual wires from machine to machine with many different wiring patterns in use. messages move along the wires, with an explicit switching decision made at each step to route the message along one of the outgoing wires (e.g. worldwide public telephone system). E&IT Faculty, WUT DOS / Introduction p. 18

Multiprocessors (1) CPU CPU CPU Memory Cache Cache Cache Bus A bus-based multiprocessor. Problem: a few CPUs - bus is overloaded and performance drops drastically. The solution: add a high-speed cache memory between the CPU and the bus (the cache holds the most recently accessed words). Problem: incoherent memory. E&IT Faculty, WUT DOS / Introduction p. 19

Multiprocessors (2) Memories M M M M CPUs Memories P P M P P M CPUs P P M P P M Crosspoint switch 2x2 switch (a) (a) a crossbar switch (b) an omega switching network (2 k inputs and a like outputs; log 2 N stages, each having N/2 exchange elements at each stage) (b) NUMA - NonUniform Memory Access hierarchical systems (each CPU fast access to the local memory and slower to the memories of other CPUs). E&IT Faculty, WUT DOS / Introduction p. 20

Homogeneous Multicomputer Systems (1) Homogeneous Multicomputer Systems (System Area Networks) homogenous machines connected through a single, often high-performance interconnection network that uses the same technology everywhere, all processors are the same and each CPU has a direct connection to its local memory, architecture of the interconnection network: switch or bus, connection topologies: meshes, grids, hipercubes. E&IT Faculty, WUT DOS / Introduction p. 21

Homogeneous Multicomputer Systems (2) Connection topologies: (a) (b) a. grid b. hypercube Examples: Massively Parallel Processors (MPPs), Clusters of Workstations E&IT Faculty, WUT DOS / Introduction p. 22

Heterogeneous Multicomputer Systems multicomputer system may contain a variety of different, independent computers, the computers in turn are connected through different networks. Examples: collection of different local-area computer networks interconnected through an FDD or ATM-switched backbone, grid systems. E&IT Faculty, WUT DOS / Introduction p. 23

Multiprocessors and Multicomputers - comparison Multiprocessors: bus systems - problems with congestion and scalability (single network) switched systems - scalable but complex, slow and expensive solution. simple software: shared memory access, synchronization mechanisms provided as software applications. Multicomputers: easy to build scalable solution complex software: message based communication, problems with buffering, synchronization, lost packets, etc. E&IT Faculty, WUT DOS / Introduction p. 24

Software Concepts DOS distributed operating system. NOS network operating system. E&IT Faculty, WUT DOS / Introduction p. 25

Uniprocessor Operating Systems No direct data exchange between modules OS interface User application Memory module Process module File module User mode System call Microkernel Hardware Kernel mode E&IT Faculty, WUT DOS / Introduction p. 26

Multicomputer Operating Systems (1) Machine A Machine B Machine C Distributed applications Distributed operating system services Kernel Kernel Kernel General structure of a multicomputer operating system. Network E&IT Faculty, WUT DOS / Introduction p. 27

Multicomputer Operating Systems (2) Sender S1 Possible synchronization point S4 Receiver Sender buffer S2 S3 Receiver buffer Network Alternatives for blocking and buffering in message passing. S1: sender blocked when the buffer is full (buffer at sender s side) S2, S3, S4: there are no sender buffer: S2: the message has been sent, S3: the message has arrived to receiver S4: the message has been delivered to receiver E&IT Faculty, WUT DOS / Introduction p. 28

Multicomputer Operating Systems (3) Relation between blocking, buffering, and reliable communications. When there is a buffer at the sender s side the OS need not guarantee reliable communication. E&IT Faculty, WUT DOS / Introduction p. 29

Distributed Shared Memory (1) Shared global address space 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 2 5 1 3 6 4 7 11 13 15 9 8 10 12 14 Memory CPU 1 CPU 2 CPU 3 CPU 4 (a) 0 2 5 1 3 6 4 7 11 13 15 9 10 8 12 14 CPU 1 CPU 2 CPU 3 CPU 4 (b) 0 2 5 1 3 6 4 7 11 13 15 9 10 8 10 12 14 CPU 1 CPU 2 CPU 3 CPU 4 (c) Pages of address space distributed among four machines, Situation after CPU 1 references page 10, Situation if page 10 is read only and replication is used. E&IT Faculty, WUT DOS / Introduction p. 30

Network Operating Systems Machine A Machine B Machine C Distributed applications Network OS services Network OS services Network OS services Kernel Kernel Kernel Network General structure of a network operating system. E&IT Faculty, WUT DOS / Introduction p. 31

NOS services Remote operation (e.g. rlogin in UNIX) Files copy (e.g. rcp in UNIX) Network File System (file server and client) E&IT Faculty, WUT DOS / Introduction p. 32

Positioning Middleware Machine A Machine B Machine C Distributed applications Middleware services Network OS services Network OS services Network OS services Kernel Kernel Kernel Network General structure of a distributed system as middleware. Middleware examples: RPC (Remote Procedure Call), CORBA (Common Object Request Broker Architecture), DCOM (Distributed Component Object Model) RMI (Remote Method Invocation). E&IT Faculty, WUT DOS / Introduction p. 33

Middleware and Openness Application Same programming interface Application Middleware Network OS Common protocol Middleware Network OS In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications. E&IT Faculty, WUT DOS / Introduction p. 34

Comparison of Operating Systems Types A comparison between multiprocessor OS, multicomputer OS, network OS, and middleware based distributed systems. E&IT Faculty, WUT DOS / Introduction p. 35

Clients and servers Client Wait for result Request Reply Server Provide service Time General interaction between a client and a server. E&IT Faculty, WUT DOS / Introduction p. 36

Application Layering The user-interface level contains all that is necessary to directly interface with the user, The processing level contains the application, The data level contains the actual data. E&IT Faculty, WUT DOS / Introduction p. 37

Internet search engine (organization) User interface User-interface level Keyword expression Query generator Database queries HTML page containing list HTML generator Ranking component Ranked list of page titles Processing level Database with Web pages Web page titles with meta-information Data level The user-interface level - documents in a search engine (typically implemented at client s side), The processing level - question processing by a search engine (typically implemented at server s side), The data level index WWW pages in data base (typically implemented at server s side). E&IT Faculty, WUT DOS / Introduction p. 38

Multitiered Architectures (1) Client machine User interface User interface User interface Application User interface Application User interface Application Database User interface Application Application Application Database Database Database Database Database Server machine (a) (b) (c) (d) (e) Alternative client-server organizations. a. terminal-depend part of the user interface on the client machine, b. the entire user-interface software on the client side, c. part of the application moved to the client machine, d. most of the application is running on the client machine, c. part of the data are collected on the client s local disc. E&IT Faculty, WUT DOS / Introduction p. 39

Multitiered Architectures (2) User interface (presentation) Wait for result Application server Request operation Wait for data Return result Request data Return data Database server Time An example of a server acting as a client. E&IT Faculty, WUT DOS / Introduction p. 40

Modern Architectures (1) Vertical distribution Achieved by placing logically different components on different machines (multitiered architecture). Horizontal Distribution Client or server may be physically split up into logically equivalent parts, but each part is operating on its own share of the complete data set, thus balancing the load. E&IT Faculty, WUT DOS / Introduction p. 41

Horizontal Distribution Example Front end handling incoming requests Requests handled in round-robin fashion Replicated Web servers each containing the same Web pages Disks Internet Internet An example of horizontal distribution of a Web service. E&IT Faculty, WUT DOS / Introduction p. 42