Midterm Information

Sample Midterm Questions:


  1) Discuss the communication performed by Jacobi2D.

  2) What are UMA and NUMA?  How would the knowledge that your
     architecture supported one of these change how you wrote
     your programs?

  3) Under what conditions is the shared run queue (work queue)
     strategy likely to give good application performance?  Under 
     what conditions is the shared run queue strategy unlikely to 
     give good application performance?

  4) What is time-balancing?  How does it differ from load-balancing?

  5) Identify the following programs as data parallel or
     control parallel:

       * A Climate Modeling Program  which divides the earth
         into lattitudinal and longitudinal points and computes
         the temperature and barometric pressure for each
         point.

       * A Climate Modeling Program which simultaneously computes
         the atmospheric pressure and the sea surface temperature
         and then combines them for each time frame.

  6) Which class in Flynn's taxonomy best supports control
     parallel programs?  Why?

  7) Compare bus-based interconnects to crossbar interconnects.
     What are the advantages and disadvantages of each?

  8) Describe two examples of multi-stage networks with at most
     4 stages.

  9) List 3 criteria in developing MPP networks and describe why each
      of them is important.

  10) What is the von Neumann bottleneck?

  11) What does is mean for a program to be "embarrassingly parallel" ?

  12) What is an advantage of parallel processing over serial processing?
      What is a disadvantage of parallel processing as opposed to serial
      processing?

  13) Define efficiency and fixed-time speedup.

  14) What single MPI call would you use to inform all of the processors in a
      data-parallel version of Jacobi2D that convergence was met or not 
      met?