next up previous
Next: Prerequisites Up: E6998-002 High Performance Software Previous: E6998-002 High Performance Software

The Course

Modern processors have substantially different performance characteristics from those available even a decade ago. While traditional performance issues such as parallelism remain important, performance now depends much more on subtle architectural features such as cache behavior and branch misprediction effects.

This course is about how to effectively utilize modern hardware when writing software. The emphasis is on getting high performance (usually measured as speed) for compute-intensive or data-intensive workloads. While most of the techniques discussed have general applicability, we will make the discussion concrete by focusing on the implementation of components of high-performance database systems.

The reasons for focusing on database systems include:

At the end of this course, you will have learned about (and experienced) how to code algorithms so that they run efficiently on modern hardware platforms.



Ken Ross 2007-04-23