IO and performance
The general idea
The purpose of this project is to look at how IO impacts on overall system performance, and how computer architects have attempted to hide the latency of IO. The idea here is to look mainly at hardware mechanisms, not to stray too far into operating systems.
The challenge
- how the hardware allows different parts of the system to function independently
- difficulties which this causes, e.g. maintaining consistency of the memory hierarchy
- how device characteristics can dictate design decisions
- for example, a disk is slow to find the right location on the disk, but quick to transfer once it gets going
Performance issues here can be examined by writing a simple program to explore performance characteristics of your device of choice. If you can find a hardware spec it would be interesting to compare measurement versus reality.
