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



Similar documents
Principles and characteristics of distributed systems and environments

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

Distributed Operating Systems

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

How To Understand The Concept Of A Distributed System

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

Virtual machine interface. Operating system. Physical machine interface

Distributed System: Definition

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

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

How To Make A Distributed System Transparent

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

1.4 SOFTWARE CONCEPTS

CS 5523 Operating Systems: Intro to Distributed Systems

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

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

Distribution transparency. Degree of transparency. Openness of distributed systems

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Chapter 18: Database System Architectures. Centralized Systems

Chapter 1: Introduction. What is an Operating System?

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

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

Introduction to Cloud Computing

System Models for Distributed and Cloud Computing

Chapter 17: Distributed Systems

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

1.5 Distributed Systems

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

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

DISTRIBUTED SYSTEMS AND CLOUD COMPUTING. A Comparative Study

Operating Systems 4 th Class

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

Symmetric Multiprocessing

Chapter 14: Distributed Operating Systems

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

Client/Server and Distributed Computing

BBM467 Data Intensive ApplicaAons


Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Network Attached Storage. Jinfeng Yang Oct/19/2015

Chapter 16: Distributed Operating Systems

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

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

Software design (Cont.)

Module 15: Network Structures

Distributed Computing

SCALABILITY AND AVAILABILITY

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

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

3 - Introduction to Operating Systems

A Comparison of Distributed Systems: ChorusOS and Amoeba

POWER ALL GLOBAL FILE SYSTEM (PGFS)

A distributed system is defined as

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

Integrated Application and Data Protection. NEC ExpressCluster White Paper

1 Organization of Operating Systems

Storage Virtualization from clusters to grid

A SWOT ANALYSIS ON CISCO HIGH AVAILABILITY VIRTUALIZATION CLUSTERS DISASTER RECOVERY PLAN

CORBA and object oriented middleware. Introduction

Contents. Chapter 1. Introduction

Distributed Architectures. Distributed Databases. Distributed Databases. Distributed Databases

Components of a Computer System

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

Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest

LinuxWorld Conference & Expo Server Farms and XML Web Services

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

Cloud Based Application Architectures using Smart Computing

CSIS CSIS 3230 Spring Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture

Part V Applications. What is cloud computing? SaaS has been around for awhile. Cloud Computing: General concepts

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

COSC 6374 Parallel Computation. Parallel I/O (I) I/O basics. Concept of a clusters

EMC VPLEX FAMILY. Continuous Availability and Data Mobility Within and Across Data Centers

Tier Architectures. Kathleen Durant CS 3200

Real-Time Operating Systems for MPSoCs

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

OPERATING SYSTEMS Internais and Design Principles

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

Mirror File System for Cloud Computing

Computer Networks Vs. Distributed Systems

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

Chapter 1 - Web Server Management and Cluster Topology

NZQA Expiring unit standard 6857 version 4 Page 1 of 5. Demonstrate an understanding of local and wide area computer networks

Software-Defined Networks Powered by VellOS

Cisco Application Networking for IBM WebSphere

Network Virtualization and Data Center Networks Data Center Virtualization - Basics. Qin Yin Fall Semester 2013

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

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

How To Virtualize A Storage Area Network (San) With Virtualization

Data Management in an International Data Grid Project. Timur Chabuk 04/09/2007

EMC VPLEX FAMILY. Continuous Availability and data Mobility Within and Across Data Centers

EMC VPLEX FAMILY. Transparent information mobility within, across, and between data centers ESSENTIALS A STORAGE PLATFORM FOR THE PRIVATE CLOUD

Copyright 1

Cluster, Grid, Cloud Concepts

Network File System (NFS) Pradipta De

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

Communication Networks. MAP-TELE 2011/12 José Ruela

Informix Dynamic Server May Availability Solutions with Informix Dynamic Server 11

Transcription:

Distributed Systems LEEC (2005/06 2º Sem.) Introduction João Paulo Carvalho Universidade Técnica de Lisboa / Instituto Superior Técnico

Outline Definition of a Distributed System Goals Connecting Users and Resources Transparency Openness Scalability Hardware Concepts in Distributed Systems Multiprocessors Homogeneous Multicomputer Systems Heterogeneous Multicomputer Systems Software Concepts in Distributed Systems Distributed Operating Systems Network Operating Systems Middleware The Client-Server Model Clients and Servers Application Layering Client-Server Architectures J.P. Carvalho Sistemas Distribuídos 2005/2006 2

Definition of a Distributed System Computer Evolution + Computer Network Evolution = Distributed Systems A Distributed System is a collection of independent computers that appear to its users as a single coherent system Examples of Distributed Systems: Computer cluster in a university Rent-a-Car database and reservation system SETI@home WWW J.P. Carvalho Sistemas Distribuídos 2005/2006 3

Distributed System Goals GOALS: Connect users and resources Transparency Openness Scalability J.P. Carvalho Sistemas Distribuídos 2005/2006 4

Connect users and resources Resources = printers, computers, files, data, etc. DS Goals (2) Why: Economic reasons and resource optimization: It s cheaper to share a printer than to buy one for each user ; Take advantage of idle computers (SETI@home)... Cooperation and information exchange: Groupware; WWW J.P. Carvalho Sistemas Distribuídos 2005/2006 5

Transparency DS Goals (3) Hide the fact that processes and resources are physically distributed across multiple computers Different forms of transparency: Transparency Access Location Migration Relocation Replication Concurrency Failure Description Hide differences in data representation and how a resource is accessed Hide where a resource is located Hide that a resource may move to another location Hide that a resource may be moved to another location while in use Hide that a resource is replicated Hide that a resource may be shared by several competitive users Hide the failure and recovery of a resource Persistence Hide whether a (software) resource is in memory or on disk J.P. Carvalho Sistemas Distribuídos 2005/2006 6

DS Goals (4) Transparency (cont.) There is a trade-off between Transparency and Performance. Example 1 Replication: Ensuring that several replicas of a database scattered around the world are always consistent before allowing new operations might slow the system too much Example 2 Concurrency: Allowing a large number of users to access the same resource simultaneously obviously degrades performance without apparent reason for the user (the user is not aware of other users) J.P. Carvalho Sistemas Distribuídos 2005/2006 7

DS Goals (5) Openness Offer services according to standard rules (protocols) that describe the syntax and semantics of those services Protocols are specified through Interfaces Interfaces allow different distributed separate systems to communicate with each other Interfaces are often described in Interface Description Language (IDL) J.P. Carvalho Sistemas Distribuídos 2005/2006 8

DS Goals (6) Scalability Provide systems that can grow in user and resource size, allow increased user and resource distance, and be able to manage additional independent administrative organizations Scalability Problems: Centralized services, data and algorithms (single service, distributed users), suffer with user growth; However, decentralization brings additional problems like synchronization, replication, etc. J.P. Carvalho Sistemas Distribuídos 2005/2006 9

Scalability Scalability Problems (cont.): DS Goals (7) Concept Centralized services Centralized data Centralized algorithms Example A single server for all users A single on-line telephone book Doing routing based on complete information J.P. Carvalho Sistemas Distribuídos 2005/2006 10

Scalability DS Goals (8) Scalability Problems (cont.): Geographical scalability problems result from the fact that inter-process communication is no longer instantaneous or reliable: While delays can be in the order of microseconds in LANs, in WANs they can become hundreds of milliseconds. This means that synchronous communications require a great deal of care; Communication must use point-to-point instead of broadcast J.P. Carvalho Sistemas Distribuídos 2005/2006 11

Scalability DS Goals (9) Scalability Problems (cont.): Scaling a distributed system across multiple independent administrative domains brings the problem of conflicting policies regarding resource usage (and payment), management and security Scaling Techniques: Hide communication latencies (use asynchronous communications and interrupts); Transfer some of the processing from the server to the client; J.P. Carvalho Sistemas Distribuídos 2005/2006 12

DS Goals (10) Scalability (scaling techniques cont.) a) The server does all the work (checks each input from the client) b) The client checks the form as they are being filled J.P. Carvalho Sistemas Distribuídos 2005/2006 13

Scalability DS Goals (11) Scaling Techniques (cont.): Distribution (split a component into smaller more manageable parts). Example: DNS Dividing the namespace into zones J.P. Carvalho Sistemas Distribuídos 2005/2006 14

Scalability DS Goals (12) Scaling Techniques (cont.): Replication (increases availability, balances the load between components and can hide communication latency); Caching (limited replication with consistency problems) J.P. Carvalho Sistemas Distribuídos 2005/2006 15

Hardware Concepts in DS Hardware in Distributed Systems can be organized in several different ways: Shared Memory (Multiprocessors, which have a single address space); Private Memory (Multicomputers, each CPU has a direct connection to its local memory). J.P. Carvalho Sistemas Distribuídos 2005/2006 16

Hardware Concepts in DS(2) Multiprocessors Bus Based Have limited scalability Cache Memory help avoid bus overloading J.P. Carvalho Sistemas Distribuídos 2005/2006 17

Hardware Concepts in DS(3) Multiprocessors Switch Based Different CPUs can access different memories simultaneously The number of switches limits the number of CPUs that can access memory simultaneously a) A crossbar switch b) An omega switching network J.P. Carvalho Sistemas Distribuídos 2005/2006 18

Hardware Concepts in DS(4) Multicomputers Homogeneous: All CPUs and memory are identical; Connected through a broadcast shared multi access network (like Ethernet) in bus based systems; Messages routed through an interconnection network in switch-based multicomputers (e.g., grids, hipercubes ). Heterogeneous: The most usual topology; Computers may vary widely with respect to processor type, memory size, I/O bandwidth; Connections are also diverse (a single multicomputer can simultaneously use LANs, Wide Area ATM, and frame relay networks); Sophisticated software is needed to build applications due to the inherent heterogeneity; Examples: SETI@home, WWW J.P. Carvalho Sistemas Distribuídos 2005/2006 19

Uniprocessor Operating Systems Software Concepts in DS An OS acts as a resource manager or an arbitrator Manages CPU, I/O devices, memory OS provides a virtual interface that is easier to use than hardware Structure of uniprocessor operating systems: Monolithic (e.g., MS-DOS, early UNIX) One large kernel that handles everything Layered design Functionality is decomposed into N layers Each layer uses services of layer N-1 and implements new service(s) for layer N+1 J.P. Carvalho Sistemas Distribuídos 2005/2006 20

Software Concepts in DS(2) Uniprocessor Operating Systems (cont.) Microkernel architecture: Small kernel User-level servers implement additional functionality J.P. Carvalho Sistemas Distribuídos 2005/2006 21

Software Concepts in DS(3) Distributed Operating Systems Act as resource managers for the hardware while attempting to hide intricacies and the heterogeneous nature of the underlying hardware Look to the user like a centralized OS But operates on multiple independent CPUs Provide transparency Location, migration, concurrency, replication, Present users with a virtual uniprocessor J.P. Carvalho Sistemas Distribuídos 2005/2006 22

Software Concepts in DS(4) Types of Distributed Operating Systems Tightly Coupled Systems: The OS tries to maintain a single global view of the resources it manages Loosely Coupled Systems: A collection of computers, each running its own OS. Each OS cooperates in order to make their own services and resources available to the others System Description Main Goal DOS (Distributed Operating System) Tightly-coupled operating system for multiprocessors and homogeneous multicomputers Hide and manage hardware resources NOS (Network Operating System) Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Offer local services to remote clients Middleware Additional layer atop of NOS implementing general-purpose services Provide distribution transparency J.P. Carvalho Sistemas Distribuídos 2005/2006 23

Software Concepts in DS(5) DOS - Multiprocessor Operating Systems Like a uniprocessor operating system Manage multiple CPUs transparently to the user Each processor has its own hardware cache Maintain consistency of cached data Communication through shared Memory The OS must provide mechanisms to protect data against simultaneous access (Semaphors, Monitors, etc.) J.P. Carvalho Sistemas Distribuídos 2005/2006 24

Software Concepts in DS(6) DOS - Multicomputer Operating Systems Each computer has its own Kernel to manage local resources Communication through message passing, or Distributed shared memory (virtual shared memory) J.P. Carvalho Sistemas Distribuídos 2005/2006 25

Network Operating Systems Software Concepts in DS(7) e.g.: rlogin; remote copy; etc. J.P. Carvalho Sistemas Distribuídos 2005/2006 26

Software Concepts in DS(8) Network Operating Systems (cont.) Employ a client-server model Pros: Minimal OS kernel Easy to add new machines to the system (usually all is needed is to connect the machine and make it known to the network) Cons: Lack transparency Are more vulnerable to attacks J.P. Carvalho Sistemas Distribuídos 2005/2006 27

Middleware Based Systems Software Concepts in DS(9) Middleware: A software layer placed between the application/user layer and the operating system layer. Allows users and applications to ignore the differences in lower layers (OS, hardware, etc.) Introduce transparency J.P. Carvalho Sistemas Distribuídos 2005/2006 28

Software Concepts in DS(10) Middleware Based Systems (cont.) 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 J.P. Carvalho Sistemas Distribuídos 2005/2006 29

Software Concepts in DS(11) Middleware Based Systems (cont.) Middleware was not invented : It appeared naturally as manufacturers started to build higher level application-independent services into their networked systems (e.g.: support for distributed transactions; advanced communication facilities) Middleware Models: Everything is a file; Distributed file systems; Remote Procedure Calls; Distributed Objects; Distributed Documents. J.P. Carvalho Sistemas Distribuídos 2005/2006 30

Comparison Between Systems Software Concepts in DS(12) Item Distributed OS Multiproc. Multicomp. Network OS Middlewarebased OS Degree of transparency Very High High Low High Same OS on all nodes Yes Yes No No Number of copies of OS 1 N N N Basis for communication Shared memory Messages Files Model specific Resource management Global, central Global, distributed Per node Per node Scalability No Moderately Yes Varies Openness Closed Closed Open Open J.P. Carvalho Sistemas Distribuídos 2005/2006 31

Client-Server The Client-Server Model Distributed Systems have a high degree of diversity. Consensus lies in the Client-Server model, or clients that request services from servers Server: a process implementing a specific service (e.g.: a file system service; a database service) Client: a process thar requests a service from a server by sending a request and subsequently waiting for the server reply J.P. Carvalho Sistemas Distribuídos 2005/2006 32

An example Client and Server The Client-Server Model(2) header.h (used by client and server) J.P. Carvalho Sistemas Distribuídos 2005/2006 33

The Client-Server Model(3) An example Client and Server (cont.) A sample server J.P. Carvalho Sistemas Distribuídos 2005/2006 34

The Client-Server Model(4) An example Client and Server (cont.) A sample client, using the server to copy a file J.P. Carvalho Sistemas Distribuídos 2005/2006 35

The Client-Server Model(5) How to distinguish between a Client and a Server? Application Layering: The user-interface level The processing level The data level Alternative Client-Server organizations: J.P. Carvalho Sistemas Distribuídos 2005/2006 36

The Client-Server Model(6) How to distinguish between a Client and a Server?(cont.) Example: organization of an Internet seach engine into three diferent layers J.P. Carvalho Sistemas Distribuídos 2005/2006 37

Multitiered Architectures The Client-Server Model(7) A server may sometimes also act as a client (three-tiered architecture) J.P. Carvalho Sistemas Distribuídos 2005/2006 38

The Client-Server Model(8) Other Client-Server Architectures Horizontal server distribution Distributed clients acting as servers (peer-to-peer) J.P. Carvalho Sistemas Distribuídos 2005/2006 39

Bibliography [1] Tannenbaum, A., Steen, M., Distributed Systems: Principles and Paradigms, Prentice-Hall International, 2002, Chapter 1. J.P. Carvalho Sistemas Distribuídos 2005/2006 40