Chapter 2

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 40

Chapter 2: Concepts and Architectures

Disk(s)
CPU
I/O
Memory

Traditional Computer Architecture

Compiled by Petros H. 1
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
 SIMD - Single Instruction, Multiple Data
 MISD - Multiple Instruction, Single Data
 MIMD - Multiple Instruction, Multiple Data

Compiled by Petros H. 2
Flynn Architectures (1)
I D
CU PU
Serial Processor

SISD

D1
PU1
I
CU Array Processor
Dn
PUn

SIMD
CU – control unit
PU – processor unit
I – instruction stream
D – data stream

Compiled by Petros H. 3
Flynn Architectures (2)
I1
D1
CU1 PU1

Multiprocessor
and
In Dn
Multicomputer
CUn PUn

MIMD

I1
CU1 PU1
D No real examples
- possibly some
In
CUn PUn pipeline
architectures
MISD

Compiled by Petros H. 4
Processor-Memory Interconnection Network

Compiled by Petros H. 5
Crossbar switch

Compiled by Petros H. 6
Multiple stage switch

Compiled by Petros H. 7
Homogeneous Multicomputer Systems – Processor Arrays

Grid Hypercube

Compiled by Petros H. 8
Loosely coupled multi-computer systems

network
M P M P M P

 Distributed Memory Multi-computer


 IPC by message passing
 Typically PC or workstation clusters
 Physically distributed components
 Characterized by longer message delays
and limited bandwidth
Compiled by Petros H. 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

Compiled by Petros H. 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

Compiled by Petros H. 11
Desired Properties:
 (1) When network size grows arbitrarily, the network
distance increases very slowly:
 lim D/N = 0
 N
 (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) Trafic loads are evenly distributed over the network

Compiled by Petros H. 12
Typical network topologies:
star ring B-tree

complete regular arbitrary

Compiled by Petros H. 13
Evaluation of network topologies:
star ring B-tree complete regular arbitra
ry
lim D/N=0 yes No Yes Yes Yes Do not
N D = 2 D = N-1 D=2log N D = 1 D =√N know

Kdegree no Yes Yes No Yes Do not


(ni) K = 2 K = 3 K = 4 know

Routing easy easy easy easy easy hard

connectiv bad bad Not good best good Do not


ity know

Even no yes no yes yes Do not


trafic know

Compiled by Petros H. 14
Software Concepts
System Description Main Goal

Hide and
Tightly-coupled operating system
manage
DOS for multi-processors and
hardware
homogeneous multicomputers
resources
Offer local
Loosely-coupled operating system
services to
NOS for heterogeneous
remote
multicomputers (LAN and WAN)
clients
Additional layer atop of NOS Provide
Middleware implementing general-purpose distribution
services transparency
 DOS (Distributed Operating Systems)
 NOS (Network Operating Systems)
 Middleware
Compiled by Petros H. 15
Uniprocessor Operating System

Separating applications from operating system


code through a microkernel.

Compiled by Petros H. 16
Distributed Operating System

Tightly-coupled operating system for multi-processors and


homogeneous multi-computers. Strong transparency.

Compiled by Petros H. 17
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)

Compiled by Petros H. 18
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”

Compiled by Petros H. 19
Network Operating System

Loosely-coupled operating system for heterogeneous


multi-computers (LAN and WAN). Weak transparency.

Compiled by Petros H. 20
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

Compiled by Petros H. 21
Middleware System

Additional layer on the top of NOS implementing general-


purpose services. Better transparency.

Compiled by Petros H. 22
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

Compiled by Petros H. 23
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.

Compiled by Petros H. 24
Point-to-point Message passing

 sender calls send primitive to pass message to sender’s buffer


 communication module transmits the message to the destination
 destination communication module puts the message to
receiver’s buffer
 receiver calls receive primitive to get the message

Compiled by Petros H. 25
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

Compiled by Petros H. 26
Comparison between Systems
Distributed OS
Network Middleware-
Item
Multiproc. Multicomp. OS based 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
Shared
Basis for communication Messages Files Model specific
memory
Global, Global,
Resource management Per node Per node
central distributed
Scalability No Moderately Yes Varies

Openness Closed Closed Open Open

Compiled by Petros H. 27
Client-Server Model

Compiled by Petros H. 28
Timing interaction between client and server

Compiled by Petros H. 29
An Example Client and Server (1) header.h

Compiled by Petros H. 30
An Example Client and Server (2) server.c

Compiled by Petros H. 31
An Example Client and Server (3) client.c

Compiled by Petros H. 32
Multi-tiered (client-server) Architectures

Compiled by Petros H. 33
Comparison of different
models(1)
user computer
terminal Interface-level
Processing-level

Data-level

(a) Traditional terminal/machine

Compiled by Petros H. 34
Comparison of different
models(2)
client server
Processing-level Processing-level

Interface-level Data-level

(b) two-tiers

Client browser WEB server Data server


Processing Processing Processing
Interface Data Data

(c) three-tiers
Compiled by Petros H. 35
Internet search engine into three different layers:

Compiled by Petros H. 36
Alternative client-server organizations

Compiled by Petros H. 37
Enterprise(J2EE) Application Model

Compiled by Petros H. 38
A Modern Architecture

An example of horizontal distribution of a Web service.


Compiled by Petros H. 39
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
Compiled by Petros H. 40

You might also like