Date post: | 23-Dec-2015 |
Category: |
Documents |
Upload: | horatio-day |
View: | 220 times |
Download: | 0 times |
MULTICOMPUTER
1
MULTICOMPUTER, YANG DIPELAJARI
• Multiprocessors vs multicomputers• Interconnection topologies• Switching schemes• Communication with messages• Remote procedure calls• Distributed shared memory• Multicomputer scheduling• Virtualization
2
MULTICOMPUTER
• Multiprocessors share the common memory• Multicomputers are tightly coupled CPUs with
memories of their own and do not share them• These systems are also known as cluster
computers and COWS (Clusters of Workstations)
• The secret of high performance is the interconnection network
3
Multiprocessor vs Multicomputer
• Figure 8-29. Comparison of three kinds of multiple CPU systems.
4
Interconnection Topologies
Figure 8-16. Various interconnect topologies. (a) A single switch (b) A ring (c) A grid or mesh (d) A double torus (e) A cube (f) A 4D hypercube
• Note : A diameter is defined as the longest path between any two nodes 5
Switching Schemes• Store-and-forward packet switching : messages are
broken into packets. Packets move from one switch to another– This scheme has increasing latency (delay) problem
because of store-and-forwarding in intermediate switches
• Circuit switching : a path is established from the source to the destination. Once this path is setup bits are pumped from source to destination with no buffering in the intermediate switches– Circuit setup may need some time but then the
transfer is fast6
User Level Communication Software
• Multicomputers communicate through messages– Send(dest, &mptr) : send a message pointed by
mptr to a process identified by dest– Receive(addr, &mptr) : addr is usually CPU number
and a process or port number• Send calls can be blocked or nonblocked• Receive calls are always blocked. That is, the
receiving process has to wait if the message has not been sent before
7
Blocking Calls
Figure 8-19. (a) A blocking send call.
8
Nonblocking Calls
Figure 8-19. (b) A nonblocking send call.
9
Remote Procedure Call
Figure 8-20. Steps in making a remote procedure call. • The stubs are local procedures implementing the
interface between the client and the server• Parameter and result passing are done by messages
10
Distributed Shared Memory (1)
Figure 8-21. Various layers where shared memory can be implemented (a) The hardware (b) The operating system (c) User-level software
11
Distributed Shared Memory (2)
Figure 8-22. (a) Pages of the address space distributed among four machines.
• When a CPU references an address that is not local, a trap occurs, and the DSM software fetches the page containing the address and restarts the faulting instruction
12
Distributed Shared Memory (3)
Figure 8-22. (b) Situation after CPU 0 references page 10 and the page is moved there.
13
Distributed Shared Memory (4)
Figure 8-22. (c) Situation if page 10 is read only and replication is used.
14
Multicomputer Scheduling
• On a multiprocessor, all processes reside on the shared memory
• On a multicomputer each node has its own memory and its own set of processes
• Scheduling within a node is easier but allocation of processes to nodes is much more important (load balancing)
• The algorithms and heuristics for doing this assignment are known as processor allocation algorithms
15
Scheduling Algorithms
• Graph-Theoretic Deterministic Algorithm• Sender-Initiated Distributed Heuristic
Algorithm• Receiver-Initiated Distributed Heuristic
Algorithm
16
Virtualization
• Virtualization is the virtual machine concept introduced in Chapter 1 – Introduction
• VM technology allows a single computer to host multiple virtual machines, each potentially running a different operating system
• Advantages :– Failure in one VM does not automatically bring down any others since
VMs are isolated– Fewer machines to provide an environment for different applications
(instead of having one server for each of the different apllications, a server with VMs can do the job)
– Ability to run different and probably older versions of Oss needed by some appications
17
Virtualization Methods
• Type 1 hypervisor (virtual machine monitor)• Type 2 hypervisor
18