A Methodology for Calibrating the Cray Research Hardware Performance Monitor: Initial Observations

 

E. N. Miya

Applied Information Systems Division 
NASA Ames Research Center 
Moffett Field, CA 94035-1000 USA 
eugene@ames.arc.nasa.gov

The Cray Research (CRI) X-MP/Y-MP Hardware Performance Monitor (HPM) is a hardware feature unlike anything found on a workstation or educational platform. The HPM provides low-overhead instruction counting, but it is sensitive to hardware and software configuration. Unfortunately, the HPM and its software has lacked adequate calibration. Calibration involves "zeroing" and scaling the instrument. Zeroing is unquestionably the most critical function.

HPM "zeros" were counted for the smallest possible null but complete program and one well-known program ("Hello world") using four languages. The program start up overhead is measureable but unseen. Various system load conditions (dedicated versus loaded systems) were measured using different hardware configurations. The resulting measures are neither intuitively obvious nor consistent at first glance.

We conclude that extensive HPM zeroing and scaling are needed for all languages and compilers, but a documented "zero" measurement is essential for future measurement interpretions. The "zero" point deserves special mention, because it is the starting point and easily obtained. Finally, simple output improvements are suggested.