Introduction to parallel programming

Slides:



Advertisements
Similar presentations
1 Uniform memory access (UMA) Each processor has uniform access time to memory - also known as symmetric multiprocessors (SMPs) (example: SUN ES1000) Non-uniform.
Advertisements

Prepared 7/28/2011 by T. O’Neil for 3460:677, Fall 2011, The University of Akron.
Distributed Systems CS
SE-292 High Performance Computing
Class CS 775/875, Spring 2011 Amit H. Kumar, OCCS Old Dominion University.
Topics Parallel Computing Shared Memory OpenMP 1.
Introduction to MIMD architectures
1 Lecture 1: Parallel Architecture Intro Course organization:  ~5 lectures based on Culler-Singh textbook  ~5 lectures based on Larus-Rajwar textbook.
An Introduction to Parallel Computing Dr. David Cronk Innovative Computing Lab University of Tennessee Distribution A: Approved for public release; distribution.
Arquitectura de Sistemas Paralelos e Distribuídos Paulo Marques Dep. Eng. Informática – Universidade de Coimbra Ago/ Machine.
1 CSE SUNY New Paltz Chapter Nine Multiprocessors.
 Parallel Computer Architecture Taylor Hearn, Fabrice Bokanya, Beenish Zafar, Mathew Simon, Tong Chen.
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
Parallel Computer Architecture and Interconnect 1b.1.
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.
ECE200 – Computer Organization Chapter 9 – Multiprocessors.
PARALLEL COMPUTING overview What is Parallel Computing? Traditionally, software has been written for serial computation: To be run on a single computer.
Parallel Computing.
Outline Why this subject? What is High Performance Computing?
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.
Spring EE 437 Lillevik 437s06-l22 University of Portland School of Engineering Advanced Computer Architecture Lecture 22 Distributed computer Interconnection.
Multiprocessor  Use large number of processor design for workstation or PC market  Has an efficient medium for communication among the processor memory.
Parallel Computing Presented by Justin Reschke
SMP Basics KeyStone Training Multicore Applications Literature Number: SPRPxxx 1.
Background Computer System Architectures Computer System Software.
Introduction Goal: connecting multiple computers to get higher performance – Multiprocessors – Scalability, availability, power efficiency Job-level (process-level)
Lecture 13 Parallel Processing. 2 What is Parallel Computing? Traditionally software has been written for serial computation. Parallel computing is the.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
Group Members Hamza Zahid (131391) Fahad Nadeem khan Abdual Hannan AIR UNIVERSITY MULTAN CAMPUS.
These slides are based on the book:
Auburn University COMP8330/7330/7336 Advanced Parallel and Distributed Computing Parallel Hardware Dr. Xiao Qin Auburn.
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
Overview Parallel Processing Pipelining
Introduction to Parallel Processing
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
Introduction to Parallel Computing
PARALLEL COMPUTING Submitted By : P. Nagalakshmi
PARALLEL COMPUTING.
Multiprocessor Systems
Distributed Processors
CS 147 – Parallel Processing
Multi-Processing in High Performance Computer Architecture:
Team 1 Aakanksha Gupta, Solomon Walker, Guanghong Wang
Overview Parallel Processing Pipelining
EE 193: Parallel Computing
CMSC 611: Advanced Computer Architecture
MIMD Multiple instruction, multiple data
Parallel and Multiprocessor Architectures – Shared Memory
Lecture 1: Parallel Architecture Intro
Chapter 17 Parallel Processing
Distributed Databases
Multiple Processor Systems
Introduction to Multiprocessors
Distributed computing deals with hardware
Distributed Systems CS
Shared Memory. Distributed Memory. Hybrid Distributed-Shared Memory.
Part 2: Parallel Models (I)
Parallel Computing Team 4 Sahil arora | Rashmi Chaudhary
High Performance Computing
Operating System Introduction.
Chapter 4 Multiprocessors
Lecture 23: Virtual Memory, Multiprocessors
CSL718 : Multiprocessors 13th April, 2006 Introduction
Operating System Overview
Prebared by Omid Mustefa.
Presentation transcript:

Introduction to parallel programming Embedded Systems MPSoC Architectures Introduction to parallel programming Alberto Bosio bosio@lirmm.fr

Definitions What is parallel programming? Parallel computing is the simultaneous use of multiple compute resources to solve a computational problem

Serial vs parallel Serial Computing Traditionally, software has been written for serial computation: To be run on a single CPU; A problem is broken into a discrete series of instructions. Instructions are executed one after another. Only one instruction may execute at any moment

Serial vs parallel Simultaneous use of multiple compute resources to solve a computational problem: To be run using multiple CPUs A problem is broken into discrete parts, solved concurrently Each part is broken down to a series of instructions Instructions from each part execute simultaneously on different CPUs

Serial vs parallel

Why parallel computing? Save time and/or money Solve larger problems Provide concurrency Use of non-local resources Limits to serial computing, physical and practical Transmission speeds Miniaturization Economic limitations

Shared Memory Shared memory: all processors access all memory as a global address space. CPUs operate independently but share memory resources. Changes in a memory location effected by one processor are visible to all other processors. Two main classes based upon memory access times: UMA and NUMA.

Uniform Memory Access Uniform Memory Access (UMA): Identical processors Equal access and access times to memory Cache coherent: if one processor updates a location in shared memory, all the other processors know about the update.

Non-Uniform Memory Access Non-Uniform Memory Access (NUMA): Often made by physically linking two or more SMPs One SMP can directly access memory of another SMP Not all processors have equal access time to all memories Memory access across link is slower

Shared Memory Advantages Global address space is easy to program Data sharing is fast and uniform due to the proximity memory/CPUs Disadvantages Lack of scalability between memory and CPUs Programmer responsibility for synchronization

Distributed Memory Communication network to connect inter- processor memory. Processors have their own local memory. No concept of global address space CPUs operate independently. Change to local memory have no effect on the memory of other processors. Cache coherency does not apply. Data communication and synchronization are programmer's responsibility Connection used for data transfer varies (es. Ethernet)

Distributed Memory