Parallel algorithm design

Slides:



Advertisements
Similar presentations
SE 292 (3:0) High Performance Computing Aug R. Govindarajan Sathish S. Vadhiyar
Advertisements

Parallel Programming – Barriers, Locks, and Continued Discussion of Parallel Decomposition David Monismith Jan. 27, 2015 Based upon notes from the LLNL.
Practical techniques & Examples
Starting Parallel Algorithm Design David Monismith Based on notes from Introduction to Parallel Programming 2 nd Edition by Grama, Gupta, Karypis, and.
ICS 556 Parallel Algorithms Ebrahim Malalla Office: Bldg 22, Room
2 Less fish … More fish! Parallelism means doing multiple things at the same time: you can get more work done in the same time.
Slide 1 COMP 308 Parallel Efficient Algorithms Lecturer: Dr. Igor Potapov Ashton Building, room COMP 308 web-page:
CISC October Goals for today: Foster’s parallel algorithm design –Partitioning –Task dependency graph Granularity Concurrency Collective communication.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Parallel Programming Models and Paradigms
MapReduce Simplified Data Processing On large Clusters Jeffery Dean and Sanjay Ghemawat.
Parallel Processing (CS526) Spring 2012(Week 5).  There are no rules, only intuition, experience and imagination!  We consider design techniques, particularly.
1 The Map-Reduce Framework Compiled by Mark Silberstein, using slides from Dan Weld’s class at U. Washington, Yaniv Carmeli and some other.
Chapter 3 Parallel Algorithm Design. Outline Task/channel model Task/channel model Algorithm design methodology Algorithm design methodology Case studies.
Chapter 1 Introduction and General Concepts. References Selim Akl, Parallel Computation: Models and Methods, Prentice Hall, 1997, Updated online version.
Edgar Gabriel Short Course: Advanced programming with MPI Edgar Gabriel Spring 2007.
Parallel Simulation of Continuous Systems: A Brief Introduction
Slide 1 Course Description and Objectives: The aim of the module is –to introduce techniques for the design of efficient parallel algorithms and –their.
INTRODUCTION TO PARALLEL ALGORITHMS. Objective  Introduction to Parallel Algorithms Tasks and Decomposition Processes and Mapping Processes Versus Processors.
Lecture 4 TTH 03:30AM-04:45PM Dr. Jianjun Hu CSCE569 Parallel Computing University of South Carolina Department of.
Ade Miller Senior Development Manager Microsoft patterns & practices.
CS 52500, Parallel Computing Spring 2011 Alex Pothen Lectures: Tues, Thurs, 3:00—4:15 PM, BRNG 2275 Office Hours: Wed 3:00—4:00 PM; Thurs 4:30—5:30 PM;
CS 420 Design of Algorithms Parallel Algorithm Design.
Lecture 3: Designing Parallel Programs. Methodological Design Designing and Building Parallel Programs by Ian Foster www-unix.mcs.anl.gov/dbpp.
Uses some of the slides for chapters 3 and 5 accompanying “Introduction to Parallel Computing”, Addison Wesley, 2003.
COMP7330/7336 Advanced Parallel and Distributed Computing Task Partitioning Dr. Xiao Qin Auburn University
COMP7330/7336 Advanced Parallel and Distributed Computing Task Partitioning Dynamic Mapping Dr. Xiao Qin Auburn University
COMP8330/7330/7336 Advanced Parallel and Distributed Computing Decomposition and Parallel Tasks (cont.) Dr. Xiao Qin Auburn University
All Pairs Shortest Path Algorithms Aditya Sehgal Amlan Bhattacharya.
CPE 779 Parallel Computing - Spring Creating and Using Threads Based on Slides by Katherine Yelick
CENG 707 Data Structures and Algorithms
Auburn University
Chapter 1 Functions Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley.
Parallel Patterns.
Auburn University
Parallel Programming By J. H. Wang May 2, 2017.
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing Mapping Techniques Dr. Xiao Qin Auburn University.
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing Data Partition Dr. Xiao Qin Auburn University.
CS 584 Lecture 3 How is the assignment going?.
Parallel Algorithm Design
Team 1 Aakanksha Gupta, Solomon Walker, Guanghong Wang
Parallel and Distributed Algorithms (CS 6/76501) Spring 2007
Parallel Programming in C with MPI and OpenMP
Mattan Erez The University of Texas at Austin
The Basics of Apache Hadoop
Collective Communication Operations
Chapter 19 Binary Search Trees.
Chapter 14 Graphs and Paths.
Parallel and Distributed Algorithms Spring 2005
Principles of Parallel Algorithm Design
Introduction to Parallel Computing by Grama, Gupta, Karypis, Kumar
CS 584.
MAP33 Introdução à Computação Paralela
Chapter 1 Preliminaries
Principles of Parallel Algorithm Design
CS 584 Lecture7 Assignment -- Due Now! Paper Review is due next week.
Principles of Parallel Algorithm Design
Introduction to High Performance Computing Lecture 7
Parallel Algorithm Models
병렬처리시스템 2005년도 2학기 채 수 환
CSC4005 – Distributed and Parallel Computing
Principles of Parallel Algorithm Design
Introduction: Some Representative Problems
Principles of Parallel Algorithm Design
Parallel Programming in C with MPI and OpenMP
Chapter 6 Dynamic Programming.
CS 584 Lecture 5 Assignment. Due NOW!!.
Chapter 4 Greedy Algorithms.
Mattan Erez The University of Texas at Austin
Chapter 2 from ``Introduction to Parallel Computing'',
Presentation transcript:

Parallel algorithm design Group 2 - Lukasz Wisniewski, Dave Edwards, Junjie Tang

Things to take into consideration Partitioning - how and what to split Communication - how and what tasks (processes) communicate Agglomerate (granularity) - how big each communication or computation chunk is Map - how and when is data or computation split

Algorithm models Data-parallel model - data is split between processes Task graph model - split data or computations into a graph Work pool model - dynamically add to and assign tasks from a pool (i.e. stack) Master-slave model - master splits work between workers Pipeline model - each processor does different part of computation on data Hybrid models - different models combined

Algorithm decision tree

References I. T. Foster, Designing and Building Parallel Programs, Addison-Wesley, 1995 A. Grama, A. Gupta, G. Karypis, and V. Kumar, Introduction to Parallel Computing, 2nd. ed., Addison-Wesley, 2003 T. G. Mattson and B. A. Sanders and B. L. Massingill, Patterns for Parallel Programming, Addison-Wesley, 2005