Hardware/Software Concepts

advertisement
Hardware/Software Concepts
Tran, Van Hoai
Department of Systems & Networking
Faculty of Computer Science & Engineering
HCMC University of Technology
Hardware concepts
• Multiprocessor dimensions
– Memory: could be shared or be private to each CPU
– Interconnect: could be shared (bus-based) or switched
M
P
M
P
P
M
P
M
P
M
P
P
P
P
P
M
M
M
M
M
P
P
P
P
P
P
M
M
M
M
Computer hardware models (1)
• Bus-based multiprocessor
• Homogeneous Multicomputer Systems
Grid
• MPP (massively
parallel processor)
• COW (Cluster of
workstations)
Hypercube
Computer hardware models (2)
• Heterogenous Multicomputer Systems
– Different systems
• processor type
a software to
• memory Need
size
provide transparency to
• IO bandwidth
– No global system
view
applications
for application
• performance and service
not guaranteed the same
everywhere
Software concepts
• Distributed systems similar to traditional OS
– managing resources such a CPU, memory,
peripheral devices, network, data, etc.
– allowing multiple users, applications
• OS for distributed systems classified into
– Tightly-coupled: distributed OS (DOS)
• for multiprocessor, homogeneous multicomputer
– Loosly-coupled: network OS (NOS)
• for heterogeneous multicomputer
• Middleware needed to provide better distribution
transparency
Uniprocessor OS (1)
• Structure of uniprocessor operating systems
– Monolithic (e.g., MS-DOS, early UNIX, Windows)
• One large kernel that handles everything
– Layered design
• Functionality is decomposed into N layers
• Each layer uses services of layer N-1 and implements
new service(s) for layer N+1
Uniprocessor OS (2)
Microkernel architecture
• Small kernel
•
User-level servers implement additional functionality
Multiprocessor OS
• Protect against concurrent access to single
memory by multiple processors
• Most of OSs have been redesigned from the
start to handle multiple processors
Multicomputer OS
• No single memory space
– more complex in structure of OS
Machine A
Machine B
Machine C
Provides
Distributed applications
Distributed OS service
Kernel
Kernel
Kernel
• Virtual
multiprocess
or machine
• Message
passing
service
Distributed shared memory (1)
0
0
2
9
CPU1
1
5
2
3
4
5
1
3
8
10
CPU2
6
6
7
8
9
10
4
7
12
14
CPU3
11
11
12
13
13
14
15
15
CPU4
Distributed shared memory (2)
0
0
2
9
10
1
5
2
3
1
4
5
3
8
CPU1
CPU2
6
6
7
8
9
10
4
7
12
14
CPU3
11
11
12
13
13
14
15
15
CPU4
After a reference of CPU1 to memory 10
Distributed shared memory (3)
0
0
2
9
10
CPU1
1
5
2
3
4
5
1
3
8
10
6
6
7
8
9
10
4
7
12
14
11
11
12
13
Tradeoff between
efficiency and
programmability
CPU3
CPU2
13
14
15
15
CPU4
After a read-only reference of CPU1 to memory 10
Network OS
• NOS provides facilities to allow users to make
use of the services available on specific machine
Machine A
Machine B
Machine C
Distributed applications
Network OS
service
Network OS
service
Network OS
service
Kernel
Kernel
Kernel
Why middleware needed ?
• DOS, NOS not yet qualify strict definition of a
distributed system
need a middleware for NOS in order to
achieve
scalability and openness of NOS
transparency and easy-to-use of DOS
Where to place middleware ?
Machine A
Machine B
Machine C
Distributed applications
Middleware services
Network OS
service
Network OS
service
Network OS
service
Kernel
Kernel
Kernel
Network
Middleware models
• Everything as a file
– keyboard, mouse, disk, network interface, etc.
• Distributed file system
• Remote Procedure Call (RPC)
• Distributed object
Middleware issues
• Middleware services
– high-level communication service
• to provide access transparency
– naming service
• to allow entities to be shared and looked up (as in
directory)
– Storage
– Security
Openness
Machine A
Machine C
application
application
Same
programming
interface
Middleware
Network OS
service
Middleware
common protocol
Network OS
service
Network
Comparison between systems
Item
Distributed OS
Multiproc.
Network OS
Multicomp.
Middleware
-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
Basis for communication
Shared
memory
Messages
Files
Model
specific
Resource management
Global,
central
Global,
distributed
Per node
Per node
Scalability
No
Moderately
Yes
Varifies
Openness
Closed
Closed
Open
Open
Homeworks
• Read section 1.5 “The client – server model”
in reference 1 (Tanenbaum)
• To understand
– Why need the client-server model ?
– Client-server architectures ?
Download