next up previous
Next: About this document ... Up: E6998-002 High Performance Software Previous: Programming Projects

Survey Paper

The survey paper is intended to give students experience in finding and gathering technical material, analyzing it, and synthesizing a coherent and clear vision of the survey topic. Some suggested topics are listed below. If a student would like to pursue a different topic, that is also possible with the permission of the instructor. Students who choose the same topic may not work together; all work must be done individually.

  1. Game consoles have become ubiquitous. What is their potential as a general-purpose (or special-purpose) programming platform?
  2. Special purpose hardware has been proposed for databases as early as the late 1980s, when it was called ``database machines''. More recently, companies such as Netezza have build special-purpose hardware for high-volume database workloads. Why did the database machine work in the 80s/90s fizzle out, and what might have changed? Is there a major role for special-purpose hardware today?
  3. There are many competing designs for commodity processors today. Some advocate a ``system on a chip'' approach. What should go on a chip? Are accelerators for specific functions a good idea? Which functions? What are the trade-offs when choosing between homogeneous and heterogeneous cores?
  4. What is the state of the art in high performance compilers for generating SIMD executables?
  5. Graphics cards have been exceeding CPUs in rates of improvement for quite a while. Graphics card makers are hoping to make GPGPUs (i.e., general purpose GPUs) that compete with traditional CPUs. What is the state of the art in GPGPU design, and how likely is it that future CPUs will adopt GPU-like qualities?
  6. How are supercomputers evaluated today? What are the benchmarks? How does one tune the compilers to give good performance? What does it take to program a supercomputer effectively?
  7. What are network processors? How are they programmed, and what kinds of processing tasks are they good for?
  8. How are database systems benchmarked? Do the benchmarks do an adequate job of quantifying CPU-time and memory latency? Are the benchmarks good predictors of performance in practice?

The survey paper is due in class on April 17th, in hardcopy. The survey paper should be roughly 6-10 pages, of 10-point font with standard margins.

Optional: Students may submit a draft of their survey paper on or before April 3rd. The instructor will provide some high-level feedback that students can use to refine the paper prior to final submission.


next up previous
Next: About this document ... Up: E6998-002 High Performance Software Previous: Programming Projects
Ken Ross 2007-04-23