Hardware Performance Monitoring in Multiprocessors
Guy G. F. Lemieux · 1996
Multiprocessors are often quoted as being capable of a ‘peak performance,’ but in practise it is difficult to utilize this potential. Consequently, software applications must be well tuned to run efficiently. In this thesis, factors affecting performance in cache-coherent multiprocessors, particularly those which use a sequentially-consistent memory model, are analyzed. Cost-effective hardware features are suggested to measure these factors without intruding on software performance. Many of the proposed features can be readily incorporated into future processor designs, and others are easy to implement in external hardware. The measurements can be used to help tune a program’s performance as well as other purposes such as simulation verification, workload characterization, or runtime performance decision support. To demonstrate cost feasibility and other implementation concerns, the processor card hardware performance monitor developed for the NUMAchine multiprocessor is also described. ii Acknowledgements I am indebted to the many people who have helped me along in the course of developing this thesis. In particular, I wish to thank Stephen Brown and Zvonko Vranesic for the opportunity and their support and encouragement. Next, I am very grateful for the sacrifices of my Grandmother, who worked hard to help support me throughout my university educa-tion. My love is with her always. Of course, my friends have contributed to maintaining my sanity and providing distractions. Thanks, Kelvin, for the many great squash games! I have also enjoyed the company of Steve, Zeljko,