COMP308 Efficient Parallel Algorithms

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
PRAM model
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
S
Parallel time
Efficiency = p
T
S( p) =
T
 Cost
Cost = p  T
 Efficiency,
Upper bound on speedup
 Speed-up,
1
S 
 Bounds (Amdahl Law)
f
----------------------------------------------------- Complexity Classes: NC, P
 Tractable and intractable problems for
parallel computers (P-complete
problems)

p
1
p
p
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.
◦ 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.