Introduction Goal: connecting multiple computers to get higher performance – Multiprocessors – Scalability, availability, power efficiency Job-level (process-level)

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

Parallelism Lecture notes from MKP and S. Yalamanchili.
CSE431 Chapter 7A.1Irwin, PSU, 2008 CSE 431 Computer Architecture Fall 2008 Chapter 7A: Intro to Multiprocessor Systems Mary Jane Irwin (
Distributed Systems CS
SE-292 High Performance Computing
Multiprocessors— Large vs. Small Scale Multiprocessors— Large vs. Small Scale.
Issues in Parallel Processing Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University.
Princess Sumaya Univ. Computer Engineering Dept. Chapter 7:
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
CSCI 8150 Advanced Computer Architecture Hwang, Chapter 1 Parallel Computer Models 1.2 Multiprocessors and Multicomputers.
Background Computer System Architectures Computer System Software.
1 Introduction to MIMD Architectures Sima, Fountain and Kacsuk Chapter 15 CSE462.
An Introduction To PARALLEL PROGRAMMING Ing. Andrea Marongiu
Multiprocessors ELEC 6200: Computer Architecture and Design Instructor : Agrawal Name: Nam.
1 Multiprocessors. 2 Idea: create powerful computers by connecting many smaller ones good news: works for timesharing (better than supercomputer) bad.
Multiprocessors ELEC 6200 Computer Architecture and Design Instructor: Dr. Agrawal Yu-Chun Chen 10/27/06.
1 Lecture 1: Parallel Architecture Intro Course organization:  ~5 lectures based on Culler-Singh textbook  ~5 lectures based on Larus-Rajwar textbook.
Chapter Hardwired vs Microprogrammed Control Multithreading
Chapter 17 Parallel Processing.
Multiprocessors CSE 471 Aut 011 Multiprocessors - Flynn’s Taxonomy (1966) Single Instruction stream, Single Data stream (SISD) –Conventional uniprocessor.
1 CSE SUNY New Paltz Chapter Nine Multiprocessors.
1 Chapter 4 Threads Threads: Resource ownership and execution.
1  2004 Morgan Kaufmann Publishers Chapter 9 Multiprocessors.
Chapter 7 Multicores, Multiprocessors, and Clusters.
A. Frank - P. Weisberg Operating Systems Introduction to Tasks/Threads.
CPE 731 Advanced Computer Architecture Multiprocessor Introduction
Parallel Computer Architectures
1 Computer Science, University of Warwick Architecture Classifications A taxonomy of parallel architectures: in 1972, Flynn categorised HPC architectures.
Lecture 37: Chapter 7: Multiprocessors Today’s topic –Introduction to multiprocessors –Parallelism in software –Memory organization –Cache coherence 1.
Introduction to Symmetric Multiprocessors Süha TUNA Bilişim Enstitüsü UHeM Yaz Çalıştayı
Computer System Architectures Computer System Software
Chapter 7 Multicores, Multiprocessors, and Clusters CprE 381 Computer Organization and Assembly Level Programming, Fall 2013 Zhao Zhang Iowa State University.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
1b.1 Types of Parallel Computers Two principal approaches: Shared memory multiprocessor Distributed memory multicomputer ITCS 4/5145 Parallel Programming,
Parallel and Distributed Systems Instructor: Xin Yuan Department of Computer Science Florida State University.
1 Parallelism, Multicores, Multiprocessors, and Clusters [Adapted from Computer Organization and Design, Fourth Edition, Patterson & Hennessy, © 2009]
Multi-core architectures. Single-core computer Single-core CPU chip.
Multi-Core Architectures
August 15, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 12: Multiprocessors: Non-Uniform Memory Access * Jeremy R. Johnson.
CMPE 421 Parallel Computer Architecture Multi Processing 1.
Memory Issues in Parallel Processing Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University.
Chapter 2 Parallel Architecture. Moore’s Law The number of transistors on a chip doubles every years. – Has been valid for over 40 years – Can’t.
1 Multiprocessor and Real-Time Scheduling Chapter 10 Real-Time scheduling will be covered in SYSC3303.
Morgan Kaufmann Publishers
ECE200 – Computer Organization Chapter 9 – Multiprocessors.
Memory/Storage Architecture Lab Computer Architecture Multiprocessors.
Spring 2003CSE P5481 Issues in Multiprocessors Which programming model for interprocessor communication shared memory regular loads & stores message passing.
Copyright © 2011 Curt Hill MIMD Multiple Instructions Multiple Data.
Floating Point Numbers & Parallel Computing. Outline Fixed-point Numbers Floating Point Numbers Superscalar Processors Multithreading Homogeneous Multiprocessing.
Morgan Kaufmann Publishers Multicores, Multiprocessors, and Clusters
Lecture 3: Computer Architectures
Computer Organization CS224 Fall 2012 Lesson 52. Introduction  Goal: connecting multiple computers to get higher performance l Multiprocessors l Scalability,
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 2.
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 1.
Computer Architecture Lecture 24 Parallel Processing Ralph Grishman November 2015 NYU.
Advanced Computer Architecture pg 1 Embedded Computer Architecture 5SAI0 Chip Multi-Processors (ch 8) Henk Corporaal
Multiprocessor  Use large number of processor design for workstation or PC market  Has an efficient medium for communication among the processor memory.
CDA-5155 Computer Architecture Principles Fall 2000 Multiprocessor Architectures.
Background Computer System Architectures Computer System Software.
Processor Level Parallelism 2. How We Got Here Developments in PC CPUs.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
CS5102 High Performance Computer Systems Thread-Level Parallelism
Multi-Processing in High Performance Computer Architecture:
Morgan Kaufmann Publishers
Multi-Processing in High Performance Computer Architecture:
Chapter 17 Parallel Processing
Prof. Leonardo Mostarda University of Camerino
CSC3050 – Computer Architecture
Chapter 4 Multiprocessors
Presentation transcript:

Introduction Goal: connecting multiple computers to get higher performance – Multiprocessors – Scalability, availability, power efficiency Job-level (process-level) parallelism – High throughput for independent jobs Parallel processing program – Single program run on multiple processors Multicore microprocessors – Chips with multiple processors (cores)

Hardware and Software Hardware – Serial: e.g., Pentium 4 – Parallel: e.g., quad-core Xeon e5345 Software – Sequential: e.g., matrix multiplication – Concurrent: e.g., operating system Sequential/concurrent software can run on serial/parallel hardware – Challenge: making effective use of parallel hardware

Parallel Programming Parallel software is the problem Need to get significant performance improvement – Otherwise, just use a faster uniprocessor, since it’s easier! Difficulties – Partitioning – Coordination – Communications overhead

Shared Memory SMP: shared memory multiprocessor – Hardware provides single physical address space for all processors – Synchronize shared variables using locks – Memory access time UMA (uniform) vs. NUMA (nonuniform)

Message Passing Each processor has private physical address space Hardware sends/receives messages between processors

Loosely Coupled Clusters Network of independent computers – Each has private memory and OS – Connected using I/O system E.g., Ethernet/switch, Internet Suitable for applications with independent tasks – Web servers, databases, simulations, … High availability, scalable, affordable Problems – Administration cost (prefer virtual machines) – Low interconnect bandwidth c.f. processor/memory bandwidth on an SMP

Grid Computing Separate computers interconnected by long- haul networks – E.g., Internet connections – Work units farmed out, results sent back Can make use of idle time on PCs – E.g., World Community Grid – There was a move to engage community computing to analyze satellite data in an effort to locate Malaysian Airlines 370

Multithreading Performing multiple threads of execution in parallel – Replicate registers, PC, etc. – Fast switching between threads Fine-grain multithreading – Switch threads after each cycle – Interleave instruction execution – If one thread stalls, others are executed Coarse-grain multithreading – Only switch on long stall (e.g., L2-cache miss) – Simplifies hardware, but doesn’t hide short stalls (eg, data hazards)