Estimating the suitability of program-machine pairs
Shean T. McMahon, Isaac D. Scherson · 2004
Contemporary performance analysis paradigms are concerned primarily with runtime. These approaches however provide no insight into how efficiently a computer executes a program. This work presents a new performance analysis paradigm based in efficiency. A computer program's disassembled binary is analyzed and a computer's efficiency at supporting the program's instruction mix is measured. To facilitate this, a computer is viewed as a black box that can deliver a certain level of performance for each of its primitive operations. A program is then broken down into a series of partitions composed of these primitive operations. The partitions are interconnected via the program's control flow graph. Each partition is then analyzed and a cost associated with it. The cost represents the mean cost of all execution paths leaving the partition. The effect of this is to compact the partition and paths leaving it into a single representative partition. This process continues, percolating partition costs up to the partitions above them until the costs reach the root partition in the program. At this point an overall efficiency measure can be found. A suite of six programs were analyzed. Each program was partitioned, and a suitability calculated for a range of primitive operation costs. These costs were chosen to represent a host of differing machine capabilities and architectural implementations. It is shown that as a computer provided more efficient support for the primitive operations that form the bulk of a program, that the computer itself provided a more efficient platform for the program's execution.