Sei sulla pagina 1di 38

Chapter 2: Concepts and Architectures

Disk(s) I/O Memory

CPU

Traditional Computer Architecture

Distributed Systems

Computer System Architectures


Flynn, 1966+1972 classification of computer

systems in terms of instruction and data stream organizations Based on Von-Neumann model (separate processor and memory units 4 machine organizations
SISD - Single Instruction, Single Data (PC, MIPS, etc.) SIMD - Single Instruction, Multiple Data (Array Proc.)

MISD - Multiple Instruction, Single Data (not Available)


MIMD - Multiple Instruction, Multiple Data (Parallel Proc)
Distributed Systems 2

Flynn Architectures (1)


CU I PU D

Serial Processor

SISD
D1 PU1 CU I PUn Dn

Array Processor

SIMD
CU control unit PU processor unit I instruction stream D data stream
Distributed Systems 3

Flynn Architectures (2)


CU1 I1 PU1 D1

CUn

In

PUn

Dn

Multiprocessor and Multicomputer

MIMD
CU1 I1 PU1 D CUn In PUn

No real examples - possibly some pipeline architectures

MISD

Distributed Systems

Processor-Memory Interconnection Network

Distributed Systems

Crossbar switch

Distributed Systems

Multiple stage switch

Distributed Systems

Homogeneous Multicomputer Systems Processor Arrays

Grid

Hypercube

Distributed Systems

Loosely coupled multi-computer systems


M P M P M P

network

Distributed Memory Multi-computer IPC by message passing Typically PC or workstation clusters Physically distributed components

Characterized by longer message delays

and limited bandwidth


Distributed Systems 9

Closely coupled multi-computer systems


Shared Memory
M P M P M P M P I/O

Shared Memory Multiprocessor


Processors connected via common bus or fast

network Characterized by short message delays, high bandwidth IPC via Shared Memory
Distributed Systems 10

Network based Systems


Network size: number of nodes N

Node: ni, 1 i N
Distance: d(ni, nj): number of links between ni and

nj Network distance: D = max(d(ni, nj)) Degree: degree(ni): number of links from/to ni Network topology is an abstract graph to represent the architecture of a network
Distributed Systems 11

Desired Properties:
(1) When network size grows arbitrarily, the network

distance increases (Max distance between two nodes) (2) There exists a constant k, such that degree(ni) k (3) Routing algorithm is easy to implement and independent of network size (4) When some nodes or links are failed, the network is still connected (with lower performance) (5) Traffic loads are evenly distributed over the network

Distributed Systems

12

Typical network topologies:


star ring B-tree

complete

regular

arbitrary

Distributed Systems

13

Software Concepts
System Description Tightly-coupled operating system for multi-processors and homogeneous multicomputers Main Goal Hide and manage hardware resources DOS

NOS

Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN)


Additional layer atop of NOS implementing general-purpose services

Offer local services to remote clients


Provide distribution transparency

Middleware

DOS (Distributed Operating Systems) NOS (Network Operating Systems) Middleware


Distributed Systems 14

Uniprocessor Operating System

Separating applications from operating system code through a microkernel.


Distributed Systems 15

Distributed Operating System

Tightly-coupled operating system for multi-processors and homogeneous multi-computers.

Strong transparency.
16

Distributed Systems

DOS: characteristics (1)


Distributed Operating Systems Allows a multiprocessor or multicomputer network resources to be integrated as a single system image Hide and manage hardware and software resources provides transparency support provide heterogeneity support control network in most effective way consists of low level commands + local operating systems + distributed features Inter-process communication (IPC)
Distributed Systems 17

DOS: characteristics (2)


remote file and device access

global addressing and naming


trading and naming services synchronization and deadlock avoidance resource allocation and protection

global resource sharing


deadlock avoidance communication security no examples in general use but many research

systems: Amoeba, Chorus etc. see Google distributed systems research


Distributed Systems 18

Network Operating System

Loosely-coupled operating system for heterogeneous multi-computers (LAN and WAN). Weak transparency.

Distributed Systems

19

NOS: characteristics
Network Operating System extension of centralized operating systems offer local services to remote clients each processor has own operating system user owns a machine, but can access others (e.g. rlogin, telnet) no global naming of resources system has little fault tolerance e.g. UNIX, Windows NT, 2000
Distributed Systems 20

Middleware System

Additional layer on the top of NOS implementing generalpurpose services. Better transparency.
Distributed Systems 21

Middleware Examples

Examples: Sun RPC, CORBA, DCOM, Java RMI (distributed object technology) Built on top of transport layer in the ISO/OSI 7 layer reference model: application (protocol), presentation (semantic), session (dialogue), transport (e.g. TCP or UDP), network (IP, ATM etc), data link (frames, checksum), physical (bits and bytes) Most are implemented over the internet protocols Masks heterogeneity of underlying networks, hardware, operating system and programming languages so provides a uniform programming model with standard services 3 types of middleware:
transaction oriented (for distributed database applications) message oriented (for reliable asynchronous communication) remote procedure calls (RPC) the original OO middleware

Distributed Systems

22

Types of communication

Message passing is the general basis of communication in a distributed system: transferring a set of data from a sender to a receiver.

Distributed Systems

23

Point-to-point Message passing

sender calls send primitive to pass message to senders buffer communication module transmits the message to the destination destination communication module puts the message to receivers buffer receiver calls receive primitive to get the message

Distributed Systems 24

Distributed Shared Memory

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

Distributed Systems

25

Comparison between Systems


Item

Distributed OS
Multiproc. Multicomp.

Network OS

Middlewarebased OS

Degree of transparency
Same OS on all nodes Number of copies of OS Basis for communication Resource management Scalability Openness

Very High
Yes 1 Shared memory Global, central No Closed

High
Yes N Messages Global, distributed Moderately Closed

Low
No N Files Per node Yes Open

High
No N Model specific Per node Varies Open
26

Distributed Systems

Client-Server Model

Distributed Systems

27

Timing interaction between client and server

Distributed Systems

28

An Example Client and Server (1) header.h

Distributed Systems

29

An Example Client and Server (2) server.c

Distributed Systems

30

An Example Client and Server (3) client.c

Distributed Systems

31

Multi-tiered (client-server) Architectures

Distributed Systems

32

Comparison of different models(1)


user
terminal

computer
Interface-level Processing-level Data-level
(a) Traditional terminal/machine

Distributed Systems

33

Comparison of different models(2)


client server

Processing-level
Interface-level
(b) two-tiers

Processing-level
Data-level

Client browser
Processing Interface

WEB server
Processing Data (c) three-tiers
Distributed Systems

Data server
Processing Data

34

Internet search engine into three different layers:

Distributed Systems

35

Alternative client-server organizations

Distributed Systems

36

A Modern Architecture

An example of horizontal distribution of a Web service.


Distributed Systems 37

Advantages of Multi-tiered Architectures


flexibility of selecting different hardware

components easy to maintain and manage the system easy to update or re-organize the system easy to enforce different security policies at different levels easy to implement software modules with clearly defined interfaces
Distributed Systems 38

Potrebbero piacerti anche