X-Ray : Automatic Measurement of Hardware Parameters
No Access Until
Permanent Link(s)
Other Titles
Author(s)
Abstract
There is growing interest in autonomic, self-tuning software that can optimize itself on new platforms, without manual intervention. Optimization requires detailed knowledge of the target platform such as the latency and throughput of instructions, the numbers of registers, and the organization of the memory hierarchy. An autonomic optimization system needs to determine such platform-specific information on its own. In this paper, we describe the design and implementation of X-Ray, which is a tool that automatically measures a large number of such platform-specific parameters. For some of these parameters, we also describe novel algorithms, which are more robust than existing ones. X-Ray is written in C for maximum portability, and it is based on accurate timing of a number of carefully designed micro-benchmarks. A novel feature of X-Ray is that it is easily extensible because it provides simple infrastructure and a code generator that can be used to produce the large number of micro-benchmarks needed for such measurements. There are few existing tools that address this problem. Our experiments show that X-Ray produces more accurate and more complete results than any of them.