CMSC 4818Z Midterm (Fall 1996)

 

  1. (20 points) Define the following terms:
    1. barrier
    2. data decomposition
    3. snoopy cache coherence
    4. macro dataflow programming model

  2. (35 points) Amdahl’s law provides a limit on the speedup possible by using parallel computing. Describe the limit implied by Amdahl’s law. People sometimes report speedups that would appear to exceed the limits of Amdahl’s law. Describe two different reasons such speedups might be seen and explain why the don’t violate Amdahl’s law.
  3. (10 points) Traditionally one argument for large computers has been economy of scale (more processing power per dollar on larger systems). However, personal computers and workstations have created a dis-ecconomy of scale (more processing power per dollar on smaller systems). Given this situation, describe two reasons why it still might be cost effective to build large-scale parallel machines.
  4. (20 points) Some proponents of shared memory programming models claim the major advantage of shared memory over message passing is that you don’t have to worry about where your data is located since all memory is shared. Explain why this assumption is naïve if performance matters.
  5. (25 points) Describe why building large scale bus based cache coherent shared memory systems is not practical. Explain how two different hardware or software based schemes overcome these limitations yet still provide coherent shared memory programming abstractions.