Introduction to Parallelism.

Slides:



Advertisements
Similar presentations
CSE 160 – Lecture 9 Speed-up, Amdahl’s Law, Gustafson’s Law, efficiency, basic performance metrics.
Advertisements

Parallelism Lecture notes from MKP and S. Yalamanchili.
Distributed Systems CS
PARALLEL PROCESSING COMPARATIVE STUDY 1. CONTEXT How to finish a work in short time???? Solution To use quicker worker. Inconvenient: The speed of worker.
CSCE 212 Chapter 4: Assessing and Understanding Performance Instructor: Jason D. Bakos.
12a.1 Introduction to Parallel Computing UNC-Wilmington, C. Ferner, 2008 Nov 4, 2008.
CS 584. Logic The art of thinking and reasoning in strict accordance with the limitations and incapacities of the human misunderstanding. The basis of.
Recap.
CS 584 Lecture 11 l Assignment? l Paper Schedule –10 Students –5 Days –Look at the schedule and me your preference. Quickly.
Steve Lantz Computing and Information Science Parallel Performance Week 7 Lecture Notes.
Lecture 37: Chapter 7: Multiprocessors Today’s topic –Introduction to multiprocessors –Parallelism in software –Memory organization –Cache coherence 1.
Fundamental Issues in Parallel and Distributed Computing Assaf Schuster, Computer Science, Technion.
CPU Performance Assessment As-Bahiya Abu-Samra *Moore’s Law *Clock Speed *Instruction Execution Rate - MIPS - MFLOPS *SPEC Speed Metric *Amdahl’s.
Introduction to Parallel Programming MapReduce Except where otherwise noted all portions of this work are Copyright (c) 2007 Google and are licensed under.
Rechen- und Kommunikationszentrum (RZ) Parallelization at a Glance Christian Terboven / Aachen, Germany Stand: Version 2.3.
“elbowing out” Processors used Speedup Efficiency timeexecution Parallel Processors timeexecution Sequential Efficiency   
INTEL CONFIDENTIAL Predicting Parallel Performance Introduction to Parallel Programming – Part 10.
Amdahl's Law Validity of the single processor approach to achieving large scale computing capabilities Presented By: Mohinderpartap Salooja.
Performance Measurement n Assignment? n Timing #include double When() { struct timeval tp; gettimeofday(&tp, NULL); return((double)tp.tv_sec + (double)tp.tv_usec.
Parallel Processing - introduction  Traditionally, the computer has been viewed as a sequential machine. This view of the computer has never been entirely.
Multiprocessing. Going Multi-core Helps Energy Efficiency William Holt, HOT Chips 2005 Adapted from UC Berkeley "The Beauty and Joy of Computing"
Performance Measurement. A Quantitative Basis for Design n Parallel programming is an optimization problem. n Must take into account several factors:
April 26, CSE8380 Parallel and Distributed Processing Presentation Hong Yue Department of Computer Science & Engineering Southern Methodist University.
GPU Architecture and Programming
Parallel Processing Steve Terpe CS 147. Overview What is Parallel Processing What is Parallel Processing Parallel Processing in Nature Parallel Processing.
Scaling Area Under a Curve. Why do parallelism? Speedup – solve a problem faster. Accuracy – solve a problem better. Scaling – solve a bigger problem.
From lecture slides for Computer Organization and Architecture: Designing for Performance, Eighth Edition, Prentice Hall, 2010 CS 211: Computer Architecture.
Chapter 1 Performance & Technology Trends Read Sections 1.5, 1.6, and 1.8.
Lecture 27 Multiprocessor Scheduling. Last lecture: VMM Two old problems: CPU virtualization and memory virtualization I/O virtualization Today Issues.
Scaling Conway’s Game of Life. Why do parallelism? Speedup – solve a problem faster. Accuracy – solve a problem better. Scaling – solve a bigger problem.
Computer Science 320 Measuring Sizeup. Speedup vs Sizeup If we add more processors, we should be able to solve a problem of a given size faster If we.
LECTURE #1 INTRODUCTON TO PARALLEL COMPUTING. 1.What is parallel computing? 2.Why we need parallel computing? 3.Why parallel computing is more difficult?
Processor Level Parallelism 2. How We Got Here Developments in PC CPUs.
Hybrid Parallel Implementation of The DG Method Advanced Computing Department/ CAAM 03/03/2016 N. Chaabane, B. Riviere, H. Calandra, M. Sekachev, S. Hamlaoui.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
Our Graphics Environment Landscape Rendering. Hardware  CPU  Modern CPUs are multicore processors  User programs can run at the same time as other.
Supercomputing in Plain English Tuning Blue Waters Undergraduate Petascale Education Program May 29 – June
Chapter 4: Threads Modified by Dr. Neerja Mhaskar for CS 3SH3.
These slides are based on the book:
Graphics Processor Graphics Processing Unit
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
Software Architecture in Practice
Chapter 10: Computer systems (1)
4- Performance Analysis of Parallel Programs
PARALLEL COMPUTING Submitted By : P. Nagalakshmi
Introduction to parallel programming
Distributed Processors
Parallel Processing - introduction
The University of Adelaide, School of Computer Science
Spatial Analysis With Big Data
Parallel Algorithm Design
Multi-Processing in High Performance Computer Architecture:
Morgan Kaufmann Publishers
CSCE 212 Chapter 4: Assessing and Understanding Performance
EE 193: Parallel Computing
Multi-Processing in High Performance Computer Architecture:
Parallel Processing Sharing the load.
CSE8380 Parallel and Distributed Processing Presentation
AN INTRODUCTION ON PARALLEL PROCESSING
CS 584.
Multithreaded Programming
By Brandon, Ben, and Lee Parallel Computing.
Computer Evolution and Performance
PERFORMANCE MEASURES. COMPUTATIONAL MODELS Equal Duration Model:  It is assumed that a given task can be divided into n equal subtasks, each of which.
Parallelism and Amdahl's Law
Operating System Introduction.
Chapter 4: Threads.
Operating System Overview
Chapter 2: Performance CS 447 Jason Bakos Fall 2001 CS 447.
Presentation transcript:

Introduction to Parallelism

What is Parallelism? Program is split among numerous “entities” Run: Multiple tasks of program simultaneously Multiple portions of data calculated simultaneously Serial vs. Parallel

Types of Parallelism Distributed Memory Shared Memory Hybrid Distributed + Shared Memory

Hardware for Parallelism CPU Classic model  1 CPU connected to memory Parallel model  “multi-core” splits CPU into cores (compute units) GPU (Graphics Processing Unit) Discuss more next week

Why Parallelism? SoonerSpeedup Program will run fasters if it is parallelized as opposed to executing serially Allows a problem to be modeled faster BetterAccuracy Forming a better solution to the problem More processes assigned to a tasks  spend more time to do error checks  final result is a better approximation To make a program more accurate, speedup may be sacrificed MoreScaling More parallel processors can be used to model a bigger problem in the same amount of time as fewer parallel processors to model a smaller problem Fishing analogy

Gustafson’s Law Bigger problems can be modeled in the same amount of time as smaller problems if the processor count is increased where N = number of processors P = the proportion of the program that cannot be made parallel

Problems with Parallelism Communication Overhead Time lost waiting for communications to take place before and after calculations More processors is not necessarily better (find a balance) Can make program less efficient than serial execution Amdahl’s Law Speedup of a parallel program is limited by serial regions or regions that cannot be executed in parallel where P = proportion of the program that can be made parallel 1 – P = proportion of the program that cannot be made parallel N = number of processors

Example: Image Processing