Cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 1 Chapter 8 Multiple Processor Systems.

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

Multiple Processor Systems
SE-292 High Performance Computing
Chapter 8-1 : Multiple Processor Systems Multiple Processor Systems Multiple Processor Systems Multiprocessor Hardware Multiprocessor Hardware UMA Multiprocessors.
Multiple Processor Systems
UMA Bus-Based SMP Architectures
Cache Coherent Distributed Shared Memory. Motivations Small processor count –SMP machines –Single shared memory with multiple processors interconnected.
CSCI 8150 Advanced Computer Architecture Hwang, Chapter 1 Parallel Computer Models 1.2 Multiprocessors and Multicomputers.
Distributed Processing, Client/Server, and Clusters
Multiple Processor Systems Chapter Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
REK’s adaptation of Prof. Claypool’s adaptation of
1 Multiprocessors. 2 Idea: create powerful computers by connecting many smaller ones good news: works for timesharing (better than supercomputer) bad.
Multiple Processor Systems 8.1 Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
Multiprocessor and Distributed Systems
1 CSE SUNY New Paltz Chapter Nine Multiprocessors.
Communication Models for Parallel Computer Architectures 4 Two distinct models have been proposed for how CPUs in a parallel computer system should communicate.
Parallel Computer Architectures
PRASHANTHI NARAYAN NETTEM.
DISTRIBUTED COMPUTING
MULTICOMPUTER 1. MULTICOMPUTER, YANG DIPELAJARI Multiprocessors vs multicomputers Interconnection topologies Switching schemes Communication with messages.
Computer System Architectures Computer System Software
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
August 15, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 12: Multiprocessors: Non-Uniform Memory Access * Jeremy R. Johnson.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Chapter 8-3 : Distributed Systems Distributed systems Distributed systems Document-based middleware Document-based middleware Coordination-based middleware.
Parallel Computer Architecture and Interconnect 1b.1.
Multiple Processor Systems Chapter Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
ECE200 – Computer Organization Chapter 9 – Multiprocessors.
13/03/07 CENG334 Introduction to Operating Systems Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY URL:
OS2- Sem ; R. Jalili Introduction Chapter 1.
Kyung Hee University 1/41 Introduction Chapter 1.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster computers –shared memory model ( access nsec) –message passing multiprocessor.
Chapter 8-2 : Multicomputers Multiprocessors vs multicomputers Multiprocessors vs multicomputers Interconnection topologies Interconnection topologies.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Copyright © 2011 Curt Hill MIMD Multiple Instructions Multiple Data.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 8 Multiple Processor Systems Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
OS2- Sem1-83; R. Jalili Introduction Chapter 1. OS2- Sem1-83; R. Jalili Definition of a Distributed System (1) A distributed system is: A collection of.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Distributed Systems: Principles and Paradigms By Andrew S. Tanenbaum and Maarten van Steen.
1 Multiple Processors, A Network, An OS, and Middleware Chapter Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent.
Introduction Chapter 1. Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users.
Outline Why this subject? What is High Performance Computing?
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Distributed shared memory u motivation and the main idea u consistency models F strict and sequential F causal F PRAM and processor F weak and release.
August 13, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 11: Multiprocessors: Uniform Memory Access * Jeremy R. Johnson Monday,
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 8 Multiple Processor Systems Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Multiprocessor  Use large number of processor design for workstation or PC market  Has an efficient medium for communication among the processor memory.
Distributed Computing Systems CSCI 6900/4900. Review Definition & characteristics of distributed systems Distributed system organization Design goals.
CDA-5155 Computer Architecture Principles Fall 2000 Multiprocessor Architectures.
TEXT: Distributed Operating systems A. S. Tanenbaum Papers oriented on: 1.OS Structures 2.Shared Memory Systems 3.Advanced Topics in Communications 4.Distributed.
Background Computer System Architectures Computer System Software.
Primitive Concepts of Distributed Systems Chapter 1.
Chapter Five Distributed file systems. 2 Contents Distributed file system design Distributed file system implementation Trends in distributed file systems.
CMSC 611: Advanced Computer Architecture Shared Memory Most slides adapted from David Patterson. Some from Mohomed Younis.
The University of Adelaide, School of Computer Science
Lecture 13 Parallel Processing. 2 What is Parallel Computing? Traditionally software has been written for serial computation. Parallel computing is the.
Distributed OS.
Multiprocessor System Distributed System
Overview Parallel Processing Pipelining
MODERN OPERATING SYSTEMS Third Edition ANDREW S
Definition of Distributed System
Advanced Operating Systems
CMSC 611: Advanced Computer Architecture
Multiple Processor Systems
Multiple Processor Systems
Multiple Processor and Distributed Systems
Presentation transcript:

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Chapter 8 Multiple Processor Systems

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Multiple Processor Systems Figure 8-1. (a) A shared-memory multiprocessor. (b) A message-passing multicomputer. (c) A wide area distributed system.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved UMA Multiprocessors with Bus-Based Architectures Figure 8-2. Three bus-based multiprocessors. (a) Without caching. (b) With caching. (c) With caching and private memories.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved UMA Multiprocessors Using Crossbar Switches Figure 8-3. (a) An 8 × 8 crossbar switch. (b) An open crosspoint. (c) A closed crosspoint.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved UMA Multiprocessors Using Multistage Switching Networks (1) Figure 8-4. (a) A 2 × 2 switch with two input lines, A and B, and two output lines, X and Y. (b) A message format.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved UMA Multiprocessors Using Multistage Switching Networks (2) Figure 8-5. An omega switching network.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved NUMA Multiprocessors (1) Characteristics of NUMA machines: 1.There is a single address space visible to all CPUs. 2.Access to remote memory is via LOAD and STORE instructions. 3.Access to remote memory is slower than access to local memory.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved NUMA Multiprocessors (2) Figure 8-6. (a) A 256-node directory-based multiprocessor.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved NUMA Multiprocessors (3) Figure 8-6. (b) Division of a 32-bit memory address into fields. (c) The directory at node 36. Address: 0x not cached Address: 0x cached at node 82

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Each CPU Has Its Own Operating System Figure 8-7. Partitioning multiprocessor memory among four CPUs, but sharing a single copy of the operating system code. The boxes marked Data are the operating system’s private data for each CPU.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Master-Slave Multiprocessors Figure 8-8. A master-slave multiprocessor model.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Symmetric Multiprocessors Figure 8-9. The SMP multiprocessor model.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Multiprocessor Synchronization (1) Figure The TSL instruction can fail if the bus cannot be locked. These four steps show a sequence of events where the failure is demonstrated.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Multiprocessor Synchronization (2) Figure Use of multiple locks to avoid cache thrashing.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Timesharing Figure Using a single data structure for scheduling a multiprocessor.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Space Sharing Figure A set of 32 CPUs split into four partitions, with two CPUs available.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Gang Scheduling (1) Figure Communication between two threads belonging to thread A that are running out of phase.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Gang Scheduling (2) The three parts of gang scheduling: 1.Groups of related threads are scheduled as a unit, a gang. 2.All members of a gang run simultaneously, on different timeshared CPUs. 3.All gang members start and end their time slices together.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Gang Scheduling (3) Figure Gang scheduling.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Multi-Computers Tightly coupled CPUs that do not share memory Cluster computers Clusters of Workstations (COWS) Message passing on microsecond scale, rather than nanosecond scale as in multiprocessors.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Interconnection Technology (1) Figure Various interconnect topologies. (a) A single switch. (b) A ring. (c) A grid.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Interconnection Technology (2) Figure Various interconnect topologies. (d) A double torus. (e) A cube. (f) A 4D hypercube.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Interconnection Technology (3) Figure Store-and-forward packet switching.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Network Interfaces Figure Position of the network interface boards in a multicomputer.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Blocking versus Nonblocking Calls (1) Figure (a) A blocking send call.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Blocking versus Nonblocking Calls (2) Figure (b) A nonblocking send call.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Blocking versus Nonblocking Calls (3) Choices on the sending side: 1.Blocking send (CPU idle during message transmission). 2.Nonblocking send with copy (CPU time wasted for the extra copy). 3.Nonblocking send with interrupt (makes programming difficult). 4.Copy on write (extra copy probably needed eventually).

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Remote Procedure Call Figure Steps in making a remote procedure call. The stubs are shaded gray.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Distributed Shared Memory (1) Figure Various layers where shared memory can be implemented. (a) The hardware.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Distributed Shared Memory (2) Figure Various layers where shared memory can be implemented. (b) The operating system.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Distributed Shared Memory (3) Figure Various layers where shared memory can be implemented. (c) User-level software.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Distributed Shared Memory (4) Figure (a) Pages of the address space distributed among four machines.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Distributed Shared Memory (5) Figure (b) Situation after CPU 1 references page 10 and the page is moved there.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Distributed Shared Memory (6) Figure (c) Situation if page 10 is read only and replication is used.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved False Sharing Figure False sharing of a page containing two unrelated variables.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Distributed Systems (1) Figure Comparison of three kinds of multiple CPU systems.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Distributed Systems (2) Figure Positioning of middleware in a distributed system.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Ethernet Figure (a) Classic Ethernet. (b) Switched Ethernet.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved The Internet Figure A portion of the Internet.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Network Protocols (2) Figure Accumulation of packet headers.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Document-Based Middleware (1) Figure The Web is a big directed graph of documents.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Document-Based Middleware (2) When the browser gets the page 1.The browser asks DNS for the IP address of 2.DNS replies with The browser makes a TCP connection to port 80 on It then sends a request asking for the file doc/faq.html....

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Document-Based Middleware (3)... 5.The server sends the file doc/faq.html. 6.The TCP connection is released. 7.The browser displays all the text in doc/faq.html. 8.The browser fetches and displays all images in doc/faq.html.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved File-System-Based Middleware Transfer Model Figure (a) The upload/download model. (b) The remote access model.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved The Directory Hierarchy (1) Figure (a) Two file servers. The squares are directories and the circles are files.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved The Directory Hierarchy (2) Figure (b) A system in which all clients have the same view of the file system.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved The Directory Hierarchy (3) Figure (c) A system in which different clients may have different views of the file system.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Naming Transparency Three common approaches to file and directory naming in a distributed system: 1.Machine + path naming, such as /machine/path or machine:path. 2.Mounting remote file systems onto the local file hierarchy. 3.A single name space that looks the same on all machines.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Semantics of File Sharing(1) Figure (a) Sequential consistency.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Semantics of File Sharing(2) Figure (b) In a distributed system with caching, reading a file may return an obsolete value.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Object-Based Middleware Figure The main elements of a distributed system based on CORBA. The CORBA parts are shown in gray.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Coordination-Based Middleware (1) Linda A system for communication and synchronization Independent processes communicate via an abstract tuple space A tuple is a structure of one or more fields, each of which is a value of some type supported by the base language Figure Three Linda tuples.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Coordination-Based Middleware Operations Insert a tuple into the tuple space –Out (“abc”,2,5); Read (and remove) a tuple –In (“abc”, 2, ?i); Read (and don’t remove) a tuple –Read (“abc”, 2, ?i);

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Matching Tuples A match occurs if the following three conditions are all met: 1.The template and the tuple have the same number of fields. 2.The types of the corresponding fields are equal. 3.Each constant or variable in the template matches its tuple field.

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Summary Multiple Processor Systems –Multi-Processor Systems Share memory –Multi-Computer Systems Private memory Shared local network –Distributed Systems Private memory Public network

cotter-cs431 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Questions What happens if two CPUs in a multiprocessor attempt to access exactly the same work of memory at exactly the same instant? In a multicomputer system, consider interconnecting the systems with either a grid or a hyper cube. What are the advantages and disadvantages of each? What is middleware? What is its role in a distributed system? What are some examples?