Introduction

41
1 Introduction Chapter 1

description

Introduction. Chapter 1. Definition of a Distributed System (1). A distributed system is: A collection of independent computers that appears to its users as a single coherent system. Definition of a Distributed System (2). 1.1. - PowerPoint PPT Presentation

Transcript of Introduction

Page 1: Introduction

1

Introduction

Chapter 1

Page 2: Introduction

2

Definition of a Distributed System (1)

A distributed system is:

A collection of independent computers that appears to its

users as a single coherent system.

Page 3: Introduction

3

Definition of a Distributed System (2)

A distributed system organized as middleware.Note that the middleware layer extends over multiple machines.

1.1

Page 4: Introduction

4

Examples of DS1. The Internet

1. Vast interconnected collection of computer network of many different types

2. Intranets1. Portion of Internet that is separately administrated and has a boundary that can be configured to enforce local security policy.

3. Mobile and ubiquitous computing1. Small and portable computing device.2. Laptops computers.3. PDA, mobiles phone, pagers, video cameras and digital cameras.4. Wearable device, such as smart watches5. Devices embedded in appliances- hi-fi+washing machine using one “universal remote control”.

Page 5: Introduction

5

Transparency in a Distributed System

Different forms of transparency in a distributed system.

Transparency Description

Access Hide differences in data representation and how a resource is accessed

Location Hide where a resource is located

Migration Hide that a resource may move to another location

Relocation Hide that a resource may be moved to another location while in use

Replication Hide that a resource is replicated

Concurrency Hide that a resource may be shared by several competitive users

Failure Hide the failure and recovery of a resource

Persistence Hide whether a (software) resource is in memory or on disk

Page 6: Introduction

6

Scalability

A system is described scalable if remain effective when there is a significant increase in the number of resources and usersDate Computers Web servers

1979, Dec. 188 0

1989, July 130,000 01999, July 56,218,000 5,560,866

Page 7: Introduction

7

Scalability Problems

Examples of scalability limitations.

Concept Example

Centralized services A single server for all users

Centralized data A single on-line telephone book

Centralized algorithms Doing routing based on complete information

Page 8: Introduction

8

Scaling Techniques (1)

1.4

The difference between letting:

a) a server or

b) a client check forms as they are being filled

Page 9: Introduction

9

Scaling Techniques (2)

1.5

An example of dividing the DNS name space into zones.

Page 10: Introduction

10

Lecture 2Hardware Concepts

MultiprocessorsHomogenous Multicomputer System

Software Concepts Distributed OS

Uniprocessor Operating SystemsMultiprocessor Operating SystemMulticomputer Operating SystemDistributed Shared Memory

Network OS Middleware

Page 11: Introduction

11

Hardware Concepts

1.6

Different basic organizations and memories in distributed computer

systems

Page 12: Introduction

12

Multiprocessors (1)

A bus-based multiprocessor.

1.7

a) Coherent

b) Incoherent – while using the cache

Page 13: Introduction

13

Multiprocessors (2)a) A crossbar switchb) An omega switching network

1.8

Page 14: Introduction

14

Homogeneous Multicomputer Systems

a) Gridb) Hypercube

1-9

Page 15: Introduction

15

Software Concepts

1. DS as resource manager2. Provide Virtual Machine to hide the

heterogeneous nature of underlying hardware

Page 16: Introduction

16

Software Concepts

An overview of • DOS (Distributed Operating Systems)• NOS (Network Operating Systems)• Middleware

System Description Main Goal

DOSTightly-coupled operating system for multi-processors and homogeneous multicomputers

Hide and manage hardware resources

NOSLoosely-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

Page 17: Introduction

17

DOS (Distributed Operating Systems)• Multiprocessor Operating System

– Manage the resource of multiprocessor

• Multicomputer Operating System– Develop for homogenous multicomputer

Page 18: Introduction

18

Uniprocessor Operating Systems• The goal- user and application sharing resources • User mode & kernel mode- Controlled by OS.• Separating applications from operating system code through a

microkernel-code for device register, switching between process etc.

Page 19: Introduction

19

Multicomputer Operating Systems (1)General structure of a multicomputer operating system

1.14

Page 20: Introduction

20

Multicomputer Operating Systems (2)• Alternatives for blocking and buffering in message passing.• Leading to 4 possible synchronization point.

1.15

Page 21: Introduction

21

Multicomputer Operating Systems (3)

Relation between blocking, buffering, and reliable communications.

Synchronization point Send buffer Reliable comm. guaranteed?

Block sender until buffer not full (s1) Yes Not necessaryBlock sender until message sent (s2) No Not necessaryBlock sender until message received (s3) No Necessary

Block sender until message delivered (s4) No Necessary

Page 22: Introduction

22

Distributed Shared Memory Systems (1)

a) Pages of address space distributed among four machines

b) Situation after CPU 1 references page 10

c) Situation if page 10 is read only and replication is used

Page 23: Introduction

23

Distributed Shared Memory Systems (2)False sharing of a page between two independent processes.

1.18

Page 24: Introduction

24

Network Operating System(1)• Heterogeneous.

– Variety and difference in terms of:• Networks• Computer hardware• Operating system• Programming language• Implementation by different developers

• Constructed from a collection of uniprocessor system using own OS.

• Connected to each other using computer network.

Page 25: Introduction

25

Network Operating System (2)General structure of a network operating system.

1-19

Page 26: Introduction

26

Network Operating System (3)Two clients and a server in a network operating system.

1-20

Generally maintain hierarchical file system.Client can import/mount these file system.

Page 27: Introduction

27

Network Operating System (3)Different clients may mount the servers in different places.

1.21

#showmount –e <server_name>

#mount /mygames <server_name>/private/games

Page 28: Introduction

28

Positioning Middleware– Programs written by different developers cannot communicate unless

use common standard– Middleware applied to a software masking the heterogeneity of

hardware & software

1-22

General structure of a distributed system as middleware.

Page 29: Introduction

29

Middleware Services1. Communication facilities – message passing

eg: RPC & Distributed Object Invocation.2. Naming- URL still works even the server has

been moved.3. Persistence – special facilities for storage.4. Distributed Transactions- multiple read/write

operations atomicaly.5. Security – cannot rely on OS only.

Page 30: Introduction

30

Middleware and Openness

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.

1.23

Page 31: Introduction

31

Comparison between Systems

A comparison between multiprocessor operating systems, multicomputer operating systems, network operating systems, and middleware based distributed systems.

ItemDistributed OS

Network OS

Middleware-based OSMultiproc

. Multicomp.

Degree of transparency Very High High Low High

Same OS on all nodes Yes Yes No NoNumber of copies of OS 1 N N N

Basis for communication

Shared memory Messages Files Model

specificResource management

Global, central

Global, distributed Per node Per node

Scalability No Moderately Yes VariesOpenness Closed Closed Open Open

Page 32: Introduction

32

Clients and Servers– General interaction between a client and a server.– Request and reply behavior.– Connectionless vs connection oriented protocol.

Page 33: Introduction

33

An Example Client and Server (1)The header.h file used by the client and server.

Page 34: Introduction

34

An Example Client and Server (2)

A sample server.

Page 35: Introduction

35

An Example Client and Server (3)

A client using the server to copy a file.

1-27 b

Page 36: Introduction

36

Processing Level The general organization of an Internet

search engine into three different layers

1-28

Page 37: Introduction

37

Multitiered Architectures (1)• 2 types of machines –two-tiered architecture

» client just a dumb terminal(user interface)» Server is handle everything

• Alternative client-server organizations (a) – (e).

1-29

Page 38: Introduction

38

Multitiered Architectures (2)An example of a server acting as a client.

eg: transaction processing – next chap

1-30

Page 39: Introduction

39

Modern Architectures• Multitier Client Server Architecture-

– Divide application into 3 components – vertical distribution

• Modern Architecture is more consent about the distribution of client and the servers.

– An example of horizontal distribution of a Web service.

Page 40: Introduction

40

Summary(INTRODUCTION)

• DS: autonomous computer+single coherent system.

• Goals• Hardware Concept• Software Concept • Client Server model-application layering

» Vertical distribution vs horizontal distribution

Page 41: Introduction

41

ExerciseDo the problems on page 54 and 55.Eg: #4,#6,#15,#17 Ask the student in a group to find a journal

about the distributed system. Work into group, (5- 6 people) each group. Make a synopsis and give a critique.