Using high-level performance prediction in compiling for distributed systems
Arjan J. C. van Gemund · 2002
In cost-driven program optimization, performance feedback is either based on a model of the algorithm or on a model of the actually generated machine code. Especially in the case of a distributed-memory system, the difference in abstraction is large. In this paper, we study the trade-off between prediction at a high (program) level and at a low (machine) level in the context of automatic optimization for message-passing architectures. We present a prediction technique based on modeling the various optimizations in terms of resource contention. Despite the abstraction, we show that high-level modeling yields more reliable predictions, provided this technique is used. We illustrate this result by deriving various optimizations of a line relaxation kernel for distributed-memory machines.