100 likes | 241 Views
Overview. Efficient Parallel Algorithms COMP308. COMP 308 Exam. Time allowed : 2.5 hours Answer four questions (out of six).
E N D
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 questions than the required number of questions, the marks awarded for the excess questions will be discarded (starting with your lowest mark).
What will be covered ? • Basics of parallel computing • PRAM algorithms • Basic parallel techniques • Tree algorithms • Graph algorithms • Sorting algorithms • Parallel Virtual Machine (PVM) • Communication operations • Class NC, P and P-complete problems
1. Basics of parallel computing • NC complexity class • Scalability of parallel systems • Metrics • Amdahl law • Optimality and efficiency of parallel algorithms • 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 • 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 • NC sorting algorithm – merging sort • 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 • Parallel construction of Euler cycles.
5. Sorting algorithms • Mesh connected 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
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 • Gossiping on ring • Gossiping on mesh • Gossiping on hypercube