Homework One

Due : Tuesday February 19, 2008

Assignment:

  1. Explain why chip architecture has evolved to have multicore design?
  2. Explain the difference between a hyper-threaded architecture, a multi-core architecture, and a multiprocessor architecture?
  3. Define speedup as used of parallel computations? Work out the complexity of a matrix-matrix multiplication in terms of operations, assuming that additions and multiplications take the same time. How would you parallelize the operation, and what would be the best speedup achievable? Mention any assumptions?
  4. Explain the difference between user level and kernel level threads?
  5. Estimate the running time for the three methods of parallelizing the Floyd and Steinberg Error Diffusion Algorithm on p cores, that is by row, by page and by 1/4 page. Use the cell processing time as the unit for time. What is the speedup for 4 processors on a 8.5in x 11in page at 600dpi ?

This assignment is an individual assignment, to be done on your own without help from other students in the class. However, you may use any materials from any written resource, including web resources.