Semi-automatic synthesis of parameterized performance models for scientific programs
Master of Science
Building parameterized performance models of applications in an automatic way is difficult because of the large number of variables that affect performance, including architecture-dependent factors, algorithmic choices and input data parameters. In general, application performance is a non-convex and non-smooth function in this multivariate parameter space. This thesis describes techniques to measure and model application characteristics independent of the target architecture. This approach produces an architecture-neutral model for an application. For predictable applications, such models have a convex and differentiable profile. Our approach succeeds in modeling the most important application factors that affect performance and enables us to explore the interactions between a target architecture and application characteristics. To date, work has concentrated on modeling the performance of intervals of sequential computation. Our models are designed to characterize node performance between synchronization points in parallel programs, with the eventual goal of modeling the performance of parallel applications.