We do not successfully capture aspects of machine architecture which are manifested only by the performance of certain sequences of AbOps, and not by a single AbOp in isolation--e.g., the IBM RS/6000 multiply-add instruction; we discuss this further below.
Much of this concurrency will also be manifested in the execution of our machine characterizer--i.e., on a machine with concurrency, we will measure faster AbOp times.
We consider each computer to be a Fortran machine, where the run-time of a program is the (linear) sum of the execution times of the Fortran abstraction operations (AbOps) executed.
As noted above, our execution prediction is the linear sum of the execution times of the AbOps executed.
We note that obtaining accurate measurements of the AbOps is very tricky because the operations take nanoseconds, and the clocks on most machines run at 60 or 100 hertz.
First, if the execution history of a program is precision dependent (as is the case with some numerical analysis programs), then the number of AbOps will vary from machine to machine.
We do the latter by defining an "optimized machine," which is the set of timings we obtain for the AbOps for optimized code.
First, a set of vector AbOps which characterizes the performance of individual vector operations is added to the original set.
When a large fraction of the execution time of a benchmark is accounted for by a small amount of code, the relative running time of that benchmark may vary widely between machines, depending on the execution time of the relevant AbOps on each machine, i.e., the benchmark results may be "unstable." We describe the extent to which the execution time is concentrated among a small number of basic blocks or AbOps as the degree of skewness of the benchmark.
Figure 11 shows the cumulative distribution of AbOps for the different benchmark suites.
We can also compute the skewness of the ordered distribution of AbOps in the same way as we did with basic blocks, i.e., as the inverse of the expected value of the distribution; the results are shown in Table XII.