A General Discussion on! Parallelism!

Similar documents
A General Discussion on! Parallelism!

Parallelism I. John Cavazos. Dept of Computer & Information Sciences University of Delaware

Parallel Processors. The dream of computer architects since 1950s: replicate processors to add performance vs. design a faster processor

Introduction II. Overview

Introduction to Parallel and Distributed Computing. Linh B. Ngo CPSC 3620

Computing on GPUs. Prof. Dr. Uli Göhner. DYNAmore GmbH. Stuttgart, Germany

Types of Parallel Computers

WHY PARALLEL PROCESSING? (CE-401)

Processor Performance and Parallelism Y. K. Malaiya

A taxonomy of computer architectures

Course II Parallel Computer Architecture. Week 2-3 by Dr. Putu Harry Gunawan

Serial. Parallel. CIT 668: System Architecture 2/14/2011. Topics. Serial and Parallel Computation. Parallel Computing

THREAD LEVEL PARALLELISM

Parallel Computing Introduction

Message Passing Interface (MPI)

Flynn Taxonomy Data-Level Parallelism

! Readings! ! Room-level, on-chip! vs.!

BlueGene/L (No. 4 in the Latest Top500 List)

COSC 6385 Computer Architecture - Multi Processor Systems

FLYNN S TAXONOMY OF COMPUTER ARCHITECTURE

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture. Lecture 9: Multiprocessors

Overview. CS 472 Concurrent & Parallel Programming University of Evansville

Introduction to Parallel Programming and Computing for Computational Sciences. By Justin McKennon

Parallel Computing: Parallel Architectures Jin, Hai

Test on Wednesday! Material covered since Monday, Feb 8 (no Linux, Git, C, MD, or compiling programs)

Vector Processors and Graphics Processing Units (GPUs)

GP-GPU. General Purpose Programming on the Graphics Processing Unit

Review of Last Lecture. CS 61C: Great Ideas in Computer Architecture. The Flynn Taxonomy, Intel SIMD Instructions. Great Idea #4: Parallelism.

SIMD Programming CS 240A, 2017

CS 61C: Great Ideas in Computer Architecture. The Flynn Taxonomy, Intel SIMD Instructions

Parallel Architectures

Lecture 1: Introduction and Basics

Duksu Kim. Professional Experience Senior researcher, KISTI High performance visualization

Embedded Systems Architecture. Computer Architectures

Parallel and Distributed Programming Introduction. Kenjiro Taura

CS 61C: Great Ideas in Computer Architecture. The Flynn Taxonomy, Intel SIMD Instructions

Chapter 6. Parallel Processors from Client to Cloud. Copyright 2014 Elsevier Inc. All rights reserved.

John Wawrzynek & Nick Weaver

represent parallel computers, so distributed systems such as Does not consider storage or I/O issues

An Introduction to Parallel Architectures

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

Flynn s Taxonomy of Parallel Architectures

CS 590: High Performance Computing. Parallel Computer Architectures. Lab 1 Starts Today. Already posted on Canvas (under Assignment) Let s look at it

Advanced Computer Architecture. The Architecture of Parallel Computers

Technology for a better society. hetcomp.com

CSE 613: Parallel Programming Department of Computer Science SUNY Stony Brook Spring 2015

CS4230 Parallel Programming. Lecture 3: Introduction to Parallel Architectures 8/28/12. Homework 1: Parallel Programming Basics

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

Introduction to Parallel Programming

The Art of Parallel Processing

Parallel Computing. Hwansoo Han (SKKU)

Introduction. CSCI 4850/5850 High-Performance Computing Spring 2018

COSC 6385 Computer Architecture - Thread Level Parallelism (I)

Chapter 1. Introduction: Part I. Jens Saak Scientific Computing II 7/348

Computing architectures Part 2 TMA4280 Introduction to Supercomputing

Current Trends in High Performance Computing

RISC Processors and Parallel Processing. Section and 3.3.6

Parallel Architecture. Hwansoo Han

Lecture 26: Parallel Processing. Spring 2018 Jason Tang

Multiprocessors. Flynn Taxonomy. Classifying Multiprocessors. why would you want a multiprocessor? more is better? Cache Cache Cache.

10 Parallel Organizations: Multiprocessor / Multicore / Multicomputer Systems

Parallel Architectures

CS 61C: Great Ideas in Computer Architecture

A Study of High Performance Computing and the Cray SV1 Supercomputer. Michael Sullivan TJHSST Class of 2004

HPC Middle East. KFUPM HPC Workshop April Mohamed Mekias HPC Solutions Consultant. Agenda

Turbostream: A CFD solver for manycore

Addressing Heterogeneity in Manycore Applications

ECE/ME/EMA/CS 759 High Performance Computing for Engineering Applications

COMPUTING ELEMENT EVOLUTION AND ITS IMPACT ON SIMULATION CODES

Computer Architecture Spring 2016

ECE/ME/EMA/CS 759 High Performance Computing for Engineering Applications

CSL 860: Modern Parallel

Chapel Introduction and

CS758: Multicore Programming

Multi-core Programming - Introduction

Programmation Concurrente (SE205)

ARCHITECTURAL CLASSIFICATION. Mariam A. Salih

RAID 0 (non-redundant) RAID Types 4/25/2011

Parallel computer architecture classification

Review: Parallelism - The Challenge. Agenda 7/14/2011

Chapter 04. Authors: John Hennessy & David Patterson. Copyright 2011, Elsevier Inc. All rights Reserved. 1

CS4961 Parallel Programming. Lecture 3: Introduction to Parallel Architectures 8/30/11. Administrative UPDATE. Mary Hall August 30, 2011

An Introduction to Parallel Programming

Lect. 2: Types of Parallelism

Introduction. L25: Modern Compiler Design

Fundamentals of Computers Design

Parallel programming. Luis Alejandro Giraldo León

Outline Marquette University

and Parallel Algorithms Programming with CUDA, WS09 Waqar Saleem, Jens Müller

High Performance Computing. Leopold Grinberg T. J. Watson IBM Research Center, USA

COSC 6374 Parallel Computation. Parallel Computer Architectures

Lecture 25: Interrupt Handling and Multi-Data Processing. Spring 2018 Jason Tang

Processor Architectures

Introduction to parallel computers and parallel programming. Introduction to parallel computersand parallel programming p. 1

Parallel Computing Why & How?

Advanced Computer Architecture

Particle-in-Cell Simulations on Modern Computing Platforms. Viktor K. Decyk and Tajendra V. Singh UCLA

Overview. Processor organizations Types of parallel machines. Real machines

Fundamentals of Computer Design

Introduction to parallel computing

Transcription:

Lecture 2! A General Discussion on! Parallelism! John Cavazos! Dept of Computer & Information Sciences! University of Delaware!! www.cis.udel.edu/~cavazos/cisc879!

Lecture 2: Overview Flynn s Taxonomy of Architectures Types of Parallelism Parallel Programming Models Commercial Multicore Architectures

Flynn s Taxonomy of Arch. SISD - Single Instruction/Single Data SIMD - Single Instruction/Multiple Data MISD - Multiple Instruction/Single Data MIMD - Multiple Instruction/Multiple Data

Single Instruction/Single Data The typical machine you re used to (before multicores). Slide Source: Wikipedia, Flynn s Taxonomy

Single Instruction/Multiple Data Processors that execute same instruction on multiple pieces of data. Slide Source: Wikipedia, Flynn s Taxonomy

Single Instruction/Multiple Data Each core executes same instruction simultaneously Vector-style of programming Natural for graphics and scientific computing Good choice for massively multicore

SISD versus SIMD SIMD very often requires compiler intervention. Slide Source: ars technica, Peakstream article

Multiple Instruction/Single Data Only Theoretical Machine. None ever implemented. Slide Source: Wikipedia, Flynn s Taxonomy

Multiple Instruction/Multiple Data Many mainstream multicores fall into this category. Slide Source: Wikipedia, Flynn s Taxonomy

Multiple Instruction/Multiple Data Each core works independently, simultaneously executing different instructions on different data Unique upper levels of cache and may have lower level of shared cache Cores can have SIMD-extensions Programmed with a variety of models (OpenMP, MPI, pthreads, etc.)

Lecture 2: Overview Flynn s Taxonomy of Architecture Types of Parallelism Parallel Programming Models Commercial Multicore Architectures

Types of Parallelism Instructions: Slide Source: S. Amarasinghe, MIT 6189 IAP 2007

Pipelining Corresponds to SISD architecture. Slide Source: S. Amarasinghe, MIT 6189 IAP 2007

Instruction-Level Parallelism Dual instruction issue superscalar model. Again, corresponds to SISD architecture. Slide Source: S. Amarasinghe, MIT 6189 IAP 2007

Data-Level Parallelism Data Stream or Array Elements What architecture model from Flynn s Taxonomy does this correspond to? Slide Source: Arch. of a Real-time Ray-Tracer, Intel

Data-Level Parallelism Data Stream or Array Elements Corresponds to SIMD architecture. Slide Source: Arch. of a Real-time Ray-Tracer, Intel

Data-Level Parallelism One operation (e.g., +) produces multiple results. X, Y, and result are arrays. Slide Source: Klimovitski & Macri, Intel

Thread-Level Parallelism Program partitioned into four threads. Four threads each executed on separate cores. P 1 P 2 P 3 P 4 P 5 P 6 What architecture from Flynn s Taxonomy does this correspond to? Multicore with 6 cores. Slide Source: SciDAC Review, Threadstorm pic.

Thread-Level Parallelism Program partitioned into four threads. Four threads each executed on separate cores. P 1 P 2 P 3 P 4 P 5 P 6 Corresponds to MIMD architecture. Multicore with 6 cores. Slide Source: SciDAC Review, Threadstorm pic.

Lecture 2: Overview Flynn s Taxonomy of Architecture Types of Parallelism Parallel Programming Models Commercial Multicore Architectures

Multicore Programming Models Message Passing Interface (MPI) OpenMP Threads Pthreads Cell threads Parallel Libraries Intel s Thread Building Blocks (TBB) Microsoft s Task Parallel Library SWARM (GTech) Charm++ (UIUC) STAPL (Texas A&M)

GPU Programming Models CUDA (Nvidia) C/C++ extensions Brook+ (AMD/ATI) AMD-enhanced implementation of Brook Brook (Stanford) Language extensions RapidMind platform Library and language extensions Works on multicores Commercialization of Sh (Waterloo)

Lecture 2: Overview Flynn s Taxonomy of Architecture Types of Parallelism Parallel Programming Models Commercial Multicore Architectures

Generalized Multicore Slide Source: Michael McCool, Rapid Mind, SuperComputing, 2007

Cell B.E. Architecture Slide Source: Michael McCool, Rapid Mind, SuperComputing, 2007

NVIDIA GPU Architecture G80 Slide Source: Michael McCool, Rapid Mind, SuperComputing, 2007

Commercial Multcores Slide Source: Dave Patterson, Manycore and Multicore Computing Workshop, 2007