1 Chapter 1 Parallel Machines and Computations (Fundamentals of Parallel Processing) Dr. Ranette Halverson.

Slides:



Advertisements
Similar presentations
PIPELINE AND VECTOR PROCESSING
Advertisements

Prepared 7/28/2011 by T. O’Neil for 3460:677, Fall 2011, The University of Akron.
SE-292 High Performance Computing
Lecture 38: Chapter 7: Multiprocessors Today’s topic –Vector processors –GPUs –An example 1.
Princess Sumaya Univ. Computer Engineering Dept. Chapter 7:
Vector Processing. Vector Processors Combine vector operands (inputs) element by element to produce an output vector. Typical array-oriented operations.
Parallell Processing Systems1 Chapter 4 Vector Processors.
History of Distributed Systems Joseph Cordina
Tuesday, September 12, 2006 Nothing is impossible for people who don't have to do it themselves. - Weiler.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Chapter 17 Parallel Processing.
Multiprocessors CSE 471 Aut 011 Multiprocessors - Flynn’s Taxonomy (1966) Single Instruction stream, Single Data stream (SISD) –Conventional uniprocessor.
PSU CS 106 Computing Fundamentals II Introduction HM 1/3/2009.
Fall 2008Introduction to Parallel Processing1 Introduction to Parallel Processing.
1 Computer Science, University of Warwick Architecture Classifications A taxonomy of parallel architectures: in 1972, Flynn categorised HPC architectures.
Introduction to Parallel Processing Ch. 12, Pg
Flynn’s Taxonomy of Computer Architectures Source: Wikipedia Michael Flynn 1966 CMPS 5433 – Parallel Processing.
CS 470/570:Introduction to Parallel and Distributed Computing.
Advanced Computer Architectures
Parallelism Processing more than one instruction at a time. Pipelining
CS668- Lecture 2 - Sept. 30 Today’s topics Parallel Architectures (Chapter 2) Memory Hierarchy Busses and Switched Networks Interconnection Network Topologies.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.
System bus.
Introduction, background, jargon Jakub Yaghob. Literature T.G.Mattson, B.A.Sanders, B.L.Massingill: Patterns for Parallel Programming, Addison- Wesley,
Parallel Processing - introduction  Traditionally, the computer has been viewed as a sequential machine. This view of the computer has never been entirely.
CHAPTER 12 INTRODUCTION TO PARALLEL PROCESSING CS 147 Guy Wong page
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.
An Overview of Parallel Computing. Hardware There are many varieties of parallel computing hardware and many different architectures The original classification.
ECE200 – Computer Organization Chapter 9 – Multiprocessors.
Chapter 9: Alternative Architectures In this course, we have concentrated on single processor systems But there are many other breeds of architectures:
General Concepts of Computer Organization Overview of Microcomputer.
Computer Architecture And Organization UNIT-II General System Architecture.
Flynn’s Architecture. SISD (single instruction and single data stream) SIMD (single instruction and multiple data streams) MISD (Multiple instructions.
Pipelining and Parallelism Mark Staveley
Data Structures and Algorithms in Parallel Computing Lecture 1.
Server HW CSIS 4490 n-Tier Client/Server Dr. Hoganson Server Hardware Mission-critical –High reliability –redundancy Massive storage (disk) –RAID for redundancy.
Outline Why this subject? What is High Performance Computing?
Computer Architecture And Organization UNIT-II Flynn’s Classification Of Computer Architectures.
EKT303/4 Superscalar vs Super-pipelined.
CPS 258, Fall 2004 Introduction to Computational Science.
Parallel Processing Chapter 9. Problem: –Branches, cache misses, dependencies limit the (Instruction Level Parallelism) ILP available Solution:
Lecture 3: Computer Architectures
Parallel Processing Presented by: Wanki Ho CS147, Section 1.
3/12/2013Computer Engg, IIT(BHU)1 INTRODUCTION-1.
CPS 258 Announcements –Lecture calendar with slides –Pointers to related material.
LECTURE #1 INTRODUCTON TO PARALLEL COMPUTING. 1.What is parallel computing? 2.Why we need parallel computing? 3.Why parallel computing is more difficult?
Classification of parallel computers Limitations of parallel processing.
Lecture 13 Parallel Processing. 2 What is Parallel Computing? Traditionally software has been written for serial computation. Parallel computing is the.
Auburn University COMP8330/7330/7336 Advanced Parallel and Distributed Computing Parallel Hardware Dr. Xiao Qin Auburn.
Flynn’s Taxonomy Many attempts have been made to come up with a way to categorize computer architectures. Flynn’s Taxonomy has been the most enduring of.
CHAPTER SEVEN PARALLEL PROCESSING © Prepared By: Razif Razali.
Catalog of useful (structural) modules and architectures
Distributed Processors
buses, crossing switch, multistage network.
Parallel Processing - introduction
CS 147 – Parallel Processing
Flynn’s Classification Of Computer Architectures
Morgan Kaufmann Publishers
Multi-Processing in High Performance Computer Architecture:
Pipelining and Vector Processing
Chapter 17 Parallel Processing
Symmetric Multiprocessing (SMP)
buses, crossing switch, multistage network.
Overview Parallel Processing Pipelining
Chapter 5: Computer Systems Organization
AN INTRODUCTION ON PARALLEL PROCESSING
Part 2: Parallel Models (I)
MARIE: An Introduction to a Simple Computer
Presentation transcript:

1 Chapter 1 Parallel Machines and Computations (Fundamentals of Parallel Processing) Dr. Ranette Halverson

2 Overview Goal: Faster Computers Parallel Computers are one solution Came – Gone – Coming again Includes  Algorithms  Hardware  Programming Languages Text integrates all 3 together R. HalversonParallel Machines & Computations

3 INTRODUCTION Evolution of Parallel Architectures G. Alaghband Fundamentals of Parallel Processing 1, Introduction

4 Key elements of a computing system and their relationships G. Alaghband Fundamentals of Parallel Processing 2, Introduction

5 Parallelism in Sequential Computers – also speedup -- Interrupts I/O Processors Multiprocessing High-speed block transfers Virtual Memory Pipelining Multiple ALU’s Optimizing Compilers R. HalversonParallel Machines & Computations 2a

6 Problems: Parallelism in SISD Pipelining Jumps (conditional branches) Solutions  Look ahead  Multiple fetches  Good compilers R. HalversonParallel Machines & Computations 2b

7 Multiple ALU’s Resource conflict  2 concurrent instructions need to use same ALU or store result to same register Data Dependencies  One instruction needs result of another  Race conditions R. HalversonParallel Machines & Computations 2c

8 Compiler Problems Compiler tries to re-order instruction to achieve concurrency (parallelism) Not easy to program What about a compiler that takes sequential program that creates code for parallel computer? R. HalversonParallel Machines & Computations 2d

9 Flynn’s Categories Based on Instruction & Data Streams SI – Single Instruction streams MI – Multiple Instruction streams SD – Single Data MD -- Multiple Data R. HalversonParallel Machines & Computations 2e

10 Flynn’s 4 Categories SISD: Traditional sequential computer Von Neumann model SIMD: One instruction used to operate on multiple data items Vector computers Each PC executes same instruction but has own data set True vector computers must work this way Other can “simulate” SIMD Synchronous R. HalversonParallel Machines & Computations 2f

11 MIMD: Multiple “independent” PC Each PC has own instruction stream and own data Work “asynchronously” but synchronization is usually needed periodically MISD: Not really a useful model MIMD can simulate MISD R. HalversonParallel Machines & Computations 2g

12 Evaluation of Expressions Exp = A+B+C+(D*E*F)+G+H Using an in-order traversal, the following code is generated by a compiler to evaluate EXP. G. Alaghband Fundamentals of Parallel Processing 14, Introduction

13 Using Associativity and Commutativity laws the expression can be reordered by a compiler algorithm to generate code corresponding to the following tree This is the most parallel computation for the given expression. G. Alaghband Fundamentals of Parallel Processing 15, Introduction Evaluation of Expressions Height = 4 What is significance of tree height?

14 SIMD (Vector) Computers Basis for Vector Computing Loops!! Iterations must be “independent” True SIMD One CPU (control unit) + multiple ALU’s, each with a memory (can be shared memory) Pipelined SIMD ALU’s work in a pipelined manner, not independently R. HalversonParallel Machines & Computations

15 Evolution of Computer Architectures Continued “True” Vector Processors Single-Instruction Stream Multiple-Data Stream SIMD Multiple arithmetic units with single control unit. A Typical True SIMD Computer Architecture G. Alaghband Fundamentals of Parallel Processing 16, Introduction

16 Pipelined Vector Processors Pipelined SIMD Pipelined arithmetic units with shared memory A Typical Pipelined SIMD Computer Architecture G. Alaghband Fundamentals of Parallel Processing 17, Introduction

17 MIMD (Multiprocessor) Computers 2 Variants Shared Memory Distributed Memory (fixed connection) (See Figure 1-10a) Also pipelined version (Figure 1-10b) but we won’t study these in detail – called Multithreaded Computers R. HalversonParallel Machines & Computations

18 Multiprocessors Multiple-Instruction Stream Multiple-Data Stream MIMD A. Multiple-Processors/Multi-bank-Memory: Figure 1-10a G. Alaghband Fundamentals of Parallel Processing 18, Introduction

19 Multiprocessors Multiple-Instruction Stream Multiple-Data Stream MIMD B. Multi-(Processor/Memory) pairs and Communication Figure 1-10a G. Alaghband Fundamentals of Parallel Processing 19, Introduction

20 Pipelined Multiprocessors Pipelined MIMD Many instruction streams issue instructions into the pipe alternately: G. Alaghband Fundamentals of Parallel Processing 20, Introduction Figure 1-10b

21 Interconnection Networks Physical connections among PCs or memory To facilitate routing of data & synchronization SIMD: sharing of data & results among ALU’s MIMD: Defines the model of computing!!! Transfers to the nw as switch R. HalversonParallel Machines & Computations

22 Application to Architecture A different approach and/or solution is necessary for different architectures As we have seen, some problems have obvious parallelism, others don’t

23 Interconnection NW -- MIMD Topology, structure => performance Performance determined by level of concurrency  Concurrent communication  More concurrency => More complexity =>More cost E.G. Bus vs. fully connected (covered in Chapter 6) R. HalversonParallel Machines & Computations

24 Pseudo Code Conventions Sequential  Similar to Pascal or C SIMD MIMD Conventions are necessary for indicating parallelism; also for compilers