Professional Documents
Culture Documents
Chapter 2
Chapter 2
Chapter 2
Disk(s)
CPU
I/O
Memory
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
I/O
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
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
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
Compiled by Petros H. 16
Distributed Operating System
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
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
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
Compiled by Petros H. 24
Point-to-point Message passing
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
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
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
Compiled by Petros H. 34
Comparison of different
models(2)
client server
Processing-level Processing-level
Interface-level Data-level
(b) two-tiers
(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