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.