Control Points for Adaptive Parallel Performance Tuning
Authors:
Isaac Dooley and Laxmikant V. Kale
Parallel Programming Laboratory, Department of Computer Science, University
of Illinois at Urbana-Champaign
PPL Technical Report 2008
This paper describes a new parallel program tuning framework, with a new approach for tuning. The application exposes tuning parameters while an adaptive runtime system tunes the values of the parameters as the program executes. The parameters are allowed to vary throughout the duration of a run of a program. This provides two benefits over using a static set of parameters for each program run. The first is that parameters affecting performance may need to vary throughout the program run to achieve maximum performance. The second benefit is that many parameter configurations can be tested in a single run of an application. This approach amortizes the cost of startup across many evaluations of configurations in the parameter space. The framework can tune parameters across multiple modules in a parallel application. It can collectively optimize the parameters, called Control Points, exposed by the application, the runtime system, and libraries. This paper describes preliminary work using Control Points with two programs, a finite difference scheme, and a pipelined filtering application. Results from an exhaustive search of the configuration space are provided as a basis for determining which types of search strategies would be effective. The optimal configurations for control points vary between different parallel systems.