Lecture notes - 南京大学计算机科学与技术系

Download Report

Transcript Lecture notes - 南京大学计算机科学与技术系

Chapter 2: Concepts and Architectures
Disk(s)
CPU
I/O
Memory
Traditional Computer Architecture
Distributed Systems
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
Distributed Systems
2
Flynn Architectures (1)
CU
I
D
PU
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
CUn
I1
In
PU1
PUn
D1
Dn
Multiprocessor
and
Multicomputer
MIMD
CU1
I1
PU1
D
CUn
In
PUn
No real examples
- possibly some
pipeline
architectures
MISD
Distributed Systems
4
Processor-Memory Interconnection Network
Distributed Systems
5
Crossbar switch
Distributed Systems
6
Multiple stage switch
Distributed Systems
7
Homogeneous Multicomputer Systems – Processor Arrays
Grid
Hypercube
Distributed Systems
8
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 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
Distributed Systems
12
Typical network topologies:
star
complete
ring
regular
Distributed Systems
B-tree
arbitrary
13
Evaluation of network topologies:
star
ring
B-tree
complete
regular
arbitra
ry
lim D/N=0
N
yes
D = 2
No
D = N-1
Yes
D=2log N
Yes
D = 1
Yes
D =√N
Do not
know
Kdegree
(ni)
no
Yes
K = 2
Yes
K = 3
No
Yes
K = 4
Do not
know
Routing
easy
easy
easy
easy
easy
hard
connectiv
ity
bad
bad
Not good
best
good
Do not
know
Even
trafic
no
yes
no
yes
yes
Do not
know
Distributed Systems
14
Software Concepts
System
Description
Main Goal
DOS
Tightly-coupled operating system
for multi-processors and
homogeneous multicomputers
Hide and
manage
hardware
resources
NOS
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



DOS (Distributed Operating Systems)
NOS (Network Operating Systems)
Middleware
Distributed Systems
15
Uniprocessor Operating System
Separating applications from operating system
code through a microkernel.
Distributed Systems
16
Distributed Operating System
Tightly-coupled operating system for multi-processors and
homogeneous multi-computers.
Strong transparency.
Distributed Systems
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)
Distributed Systems
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”
Distributed Systems
19
Network Operating System
Loosely-coupled operating system for heterogeneous
multi-computers (LAN and WAN). Weak transparency.
Distributed Systems
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
Distributed Systems
21
Middleware System
Additional layer on the top of NOS implementing generalpurpose services. Better transparency.
Distributed Systems
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
Distributed Systems
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.
Distributed Systems
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



Distributed Systems
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
Distributed Systems
26
Comparison between Systems
Item
Distributed OS
Network
OS
Middlewarebased OS
Multiproc.
Multicomp.
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
Distributed Systems
27
Client-Server Model
Distributed Systems
28
Timing interaction between client and server
Distributed Systems
29
An Example Client and Server (1) header.h
Distributed Systems
30
An Example Client and Server (2) server.c
Distributed Systems
31
An Example Client and Server (3) client.c
Distributed Systems
32
Multi-tiered (client-server) Architectures
Distributed Systems
33
Comparison of different models(1)
user
terminal
computer
Interface-level
Processing-level
Data-level
(a) Traditional terminal/machine
Distributed Systems
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
Distributed Systems
35
Internet search engine into three different layers:
Distributed Systems
36
Alternative client-server organizations
Distributed Systems
37
Enterprise(J2EE) Application Model
Distributed Systems
38
A Modern Architecture
An example of horizontal distribution of a Web service.
Distributed Systems
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
Distributed Systems
40