170 likes | 190 Views
Explore the differences between multiprocessors and multicomputers, the importance of interconnection topologies, switching schemes, and communication methods like remote procedure calls and distributed shared memory. Learn about multicomputer scheduling algorithms and the benefits of virtualization technology in modern computing.
E N D
Chapter 8-2 : Multicomputers Multiprocessors vs multicomputers Interconnection topologies Switching schemes Communication with messages Remote procedure calls Distributed shared memory Multicomputer scheduling Virtualization
Multicomputers 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
Multiprocessor vs Multicomputer Figure 8-29. Comparison of three kinds of multiple CPU systems.
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
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 fast
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
Blocking Calls Figure 8-19. (a) A blocking send call.
Nonblocking Calls Figure 8-19. (b) A nonblocking send call.
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
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
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
Distributed Shared Memory (3) Figure 8-22. (b) Situation after CPU 0 references page 10 and the page is moved there.
Distributed Shared Memory (4) Figure 8-22. (c) Situation if page 10 is readonly and replication is used.
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
Scheduling Algorithms Graph-Theoretic Deterministic Algorithm Sender-Initiated Distributed Heuristic Algorithm Receiver-Initiated Distributed Heuristic Algorithm Please read from the book
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
Virtualization Methods Type 1 hypervisor (virtual machine monitor) Type 2 hypervisor