COMP308 Efficient Parallel Algorithms

Slides:



Advertisements
Similar presentations
General algorithmic techniques: Balanced binary tree technique Doubling technique: List Ranking Problem Divide and concur Lecture 6.
Advertisements

1 Parallel Algorithms (chap. 30, 1 st edition) Parallel: perform more than one operation at a time. PRAM model: Parallel Random Access Model. p0p0 p1p1.
Parallel Algorithms.
Basic Communication Operations
PRAM Algorithms Sathish Vadhiyar. PRAM Model - Introduction Parallel Random Access Machine Allows parallel-algorithm designers to treat processing power.
Optimal PRAM algorithms: Efficiency of concurrent writing “Computer science is no more about computers than astronomy is about telescopes.” Edsger Dijkstra.
Lecture 3: Parallel Algorithm Design
CIS December '99 Introduction to Parallel Architectures Dr. Laurence Boxer Niagara University.
Efficient Parallel Algorithms COMP308
Advanced Topics in Algorithms and Data Structures Lecture pg 1 Recursion.
Parallel Architectures: Topologies Heiko Schröder, 2003.
Advanced Topics in Algorithms and Data Structures Classification of the PRAM model In the PRAM model, processors communicate by reading from and writing.
PRAM Models Advanced Algorithms & Data Structures Lecture Theme 13 Prof. Dr. Th. Ottmann Summer Semester 2006.
Advanced Topics in Algorithms and Data Structures Page 1 Parallel merging through partitioning The partitioning strategy consists of: Breaking up the given.
Parallel Architectures: Topologies Heiko Schröder, 2003.
Slide 1 Parallel Computation Models Lecture 3 Lecture 4.
Advanced Topics in Algorithms and Data Structures An overview of the lecture 2 Models of parallel computation Characteristics of SIMD models Design issue.
Overview Efficient Parallel Algorithms COMP308. COMP 308 Exam Time allowed : 2.5 hours Answer four questions (out of six). If you attempt to answer more.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Lecture 9 Tuesday, 11/20/01 Parallel Algorithms Chapters 28,
Communication operations Efficient Parallel Algorithms COMP308.
2. Computational Models 1 MODELS OF COMPUTATION (Chapter 2) Models –An abstract description of a real world entity –Attempts to capture the essential features.
Models of Parallel Computation Advanced Algorithms & Data Structures Lecture Theme 12 Prof. Dr. Th. Ottmann Summer Semester 2006.
Mesh connected networks. Sorting algorithms Efficient Parallel Algorithms COMP308.
Examples Broadcasting and Gossiping. Broadcast on ring (Safe and Forward)
Topic Overview One-to-All Broadcast and All-to-One Reduction
The Euler-tour technique
Simulating a CRCW algorithm with an EREW algorithm Lecture 4 Efficient Parallel Algorithms COMP308.
10-1 Chapter 10 - Trends in Computer Architecture Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles.
1 Summary of lectures 1.Introduction to Algorithm Analysis and Design (Chapter 1-3). Lecture SlidesLecture Slides 2.Recurrence and Master Theorem (Chapter.
1 Parallel computing and its recent topics. 2 Outline 1. Introduction of parallel processing (1)What is parallel processing (2)Classification of parallel.
Parallel Computing Basic Concepts Computational Models Synchronous vs. Asynchronous The Flynn Taxonomy Shared versus Distributed Memory Interconnection.
10-1 Chapter 10 - Advanced Computer Architecture Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring.
A Perspective Hardware and Software
CS668- Lecture 2 - Sept. 30 Today’s topics Parallel Architectures (Chapter 2) Memory Hierarchy Busses and Switched Networks Interconnection Network Topologies.
1 Chapter 1 Parallel Machines and Computations (Fundamentals of Parallel Processing) Dr. Ranette Halverson.
Outline  introduction  Sorting Networks  Bubble Sort and its Variants 2.
CHAPTER 12 INTRODUCTION TO PARALLEL PROCESSING CS 147 Guy Wong page
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Algorithms  Al-Khwarizmi, arab mathematician, 8 th century  Wrote a book: al-kitab… from which the word Algebra comes  Oldest algorithm: Euclidian algorithm.
CS 345: Chapter 10 Parallelism, Concurrency, and Alternative Models Or, Getting Lots of Stuff Done at Once.
Definitions Speed-up Efficiency Cost Diameter Dilation Deadlock Embedding Scalability Big Oh notation Latency Hiding Termination problem Bernstein’s conditions.
1 PRAM Algorithms Sums Prefix Sums by Doubling List Ranking.
Parallel Computing Department Of Computer Engineering Ferdowsi University Hossain Deldari.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 February 3, 2005 Session 7.
Chapter 9: Alternative Architectures In this course, we have concentrated on single processor systems But there are many other breeds of architectures:
Parallel Algorithms. Parallel Models u Hypercube u Butterfly u Fully Connected u Other Networks u Shared Memory v.s. Distributed Memory u SIMD v.s. MIMD.
Slide 1 Course Description and Objectives: The aim of the module is –to introduce techniques for the design of efficient parallel algorithms and –their.
Parallel Processing & Distributed Systems Thoai Nam Chapter 2.
Interconnection Networks
Basic Linear Algebra Subroutines (BLAS) – 3 levels of operations Memory hierarchy efficiently exploited by higher level BLAS BLASMemor y Refs. FlopsFlops/
Data Structures and Algorithms in Parallel Computing Lecture 1.
Winter 2014Parallel Processing, Fundamental ConceptsSlide 1 2 A Taste of Parallel Algorithms Learn about the nature of parallel algorithms and complexity:
2016/1/6Part I1 A Taste of Parallel Algorithms. 2016/1/6Part I2 We examine five simple building-block parallel operations and look at the corresponding.
10-1 Chapter 10 - Trends in Computer Architecture Department of Information Technology, Radford University ITEC 352 Computer Organization Principles of.
Parallel Processing Presented by: Wanki Ho CS147, Section 1.
3/12/2013Computer Engg, IIT(BHU)1 INTRODUCTION-1.
Basic Communication Operations Carl Tropper Department of Computer Science.
3/12/2013Computer Engg, IIT(BHU)1 PRAM ALGORITHMS-3.
Parallel Programming in Chess Simulations Part 2 Tyler Patton.
3/12/2013Computer Engg, IIT(BHU)1 PRAM ALGORITHMS-1.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 28, 2005 Session 29.
PRAM and Parallel Computing
Distributed and Parallel Processing
Mesh connected networks. Sorting algorithms
Summary of lectures Introduction to Algorithm Analysis and Design (Chapter 1-3). Lecture Slides Recurrence and Master Theorem (Chapter 4). Lecture Slides.
A Perspective Hardware and Software
CSE332: Data Abstractions About the Final
PRAM architectures, algorithms, performance evaluation
Data Structures and Algorithms in Parallel Computing
Module 6: Introduction to Parallel Computing
Presentation transcript:

COMP308 Efficient Parallel Algorithms Revision

COMP 308 Exam Time allowed : 2.5 hours Answer four questions (out of five). If you attempt to answer more questions than the required number of questions, the marks awarded for the excess questions will be discarded (starting with your lowest mark). In each question you will see 3 problems which usually marked as 10,10 and 5

Topics: Metrics Sorting Networks PRAM model Communication algorithms PRAM algorithms Tree algorithms Graph algorithms Mesh connected networks & Sorting Sorting Networks Communication algorithms Parallel Virtual Machine Unconventional models and paradigms

1. Metrics and basic notions Parallel time Cost Efficiency, Speed-up, Bounds (Amdahl Law) ------------------------------------------------------ Complexity Classes: NC, P Tractable and intractable problems for parallel computers (P-complete problems) Sp p Efficiency = T1 Tp S( p) = Cost = p  Tp Upper bound on speedup

Basics of parallel computing Coarse and fine grained computations Models PRAM model EREW, CRCW, CREW, ERCW MIMD, SISD, SIMD, MISD Network topologies: Ring, Mesh, Tree, Hypercube

2. PRAM algorithms Activation of n processors Finding minimum of n numbers Sum of elements in an array Computing of the first 1 in the sequence of 0’s and 1’s Simulation of CRCW algorithm by EREW model

3. Basic parallel techniques Balanced binary tree technique Doubling technique Parallel divide and conquer The Euler-tour technique

4. Tree and Graph algorithms List ranking problem Parallel prefix sum computation Parallel algorithms for expression evaluation Simultaneous Substitutions Method A parallel pebble game Parallel Computation of Transitive Closure Problem (Warshall algorithm) Coarse grained vs. Fine grained Parallel construction of Euler cycles.

5. Sorting algorithms Mesh connected networks. Comparison networks Sorting on 1-dim mesh Sorting on 2-dim mesh Comparison networks The zero-one principle Bitonic and Merging sorting networks Batcher’s merging network You need to be able to construct sorting networks

6. Parallel Virtual Machine (PVM) Basics of Message-Passing Programming Broadcast Scatter Gather Reduce

7. Communication operations Store and forward routing Cut-through routing Broadcasting problem Broadcast on ring Broadcast on mesh Broadcast on tree Broadcast on hypercube Gossiping problem

Unconventional models and paradigms Cellular automaton Majority problem – Rule 184 Simulation with 2D environment Swarm algorithms Swarming – Characteristics Culture model and Adaptive Culture model Membrane computing: P-systems Basic definition, Maximal parallelism in membrane computation model Square function and divisibility DNA computing Adleman Experiment: Hamiltonian Path Problem Quantum computations Deutsch's problem. Main ideas of quantum computations, quantum information.