COMP308 Efficient Parallel Algorithms by sdfwerte

VIEWS: 3 PAGES: 12

									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
 PRAM algorithms        algorithms
 Tree algorithms       Parallel Virtual

 Graph algorithms
                         Machine
                        Unconventional
 Mesh connected
  networks & Sorting     models and
                         paradigms
    1. Metrics and basic notions
 Parallel time                              Efficiency = p
                                                            S p

                                     T
 Cost                       S( p) =    1
                                     T  p      Cost = p  T
                                                          p


 Efficiency,
                                 Upper bound on speedup
 Speed-up,                                  1
 Bounds (Amdahl Law)                 S 
                                              f
------------------------------------------------------
 Complexity Classes: NC, P
 Tractable and intractable problems for
  parallel computers (P-complete problems)
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
    ◦ Square function and divisibility
   DNA computing
    ◦ Adleman Experiment: Hamiltonian Path Problem

								
To top