Live Webcast 15th Annual Charm++ Workshop

Intelligent Runtime Tuning of Parallel Applications With Control Points
Thesis 2010
Publication Type: PhD Thesis
Repository URL: thesis/2010_IsaacDooleyPhD

The tuning of parallel programs on large distributed-memory machines today is usually a costly, and often extensive, manual process. Automatic tuning techniques can help reduce this manual burden. This dissertation investigates the utility of a new class of automatic tuning methods for large-scale parallel programs whereby each program exposes information about its behavior to the runtime system. This behavioral information enables a tuning framework to quickly find appropriate ways to reconfigure or steer the application towards better performance.

This dissertation describes both new automatic tuning mechanisms within a parallel runtime system, and a new framework that automatically reconfigures the behavior or structure of the program through one or more \textit{control points}. Control points are a novel type of tunable parameter provided by an application wherein it exposes tunable knobs and information about the behavioral effects expected to occur as each knob is varied in each direction. This behavioral information associated with each control point allows tuning algorithms to identify the direction in which a control point should be adjusted to fix observed performance problems.

Multiple application case studies show that control points are useful mechanisms for dynamically reconfiguring applications to improve their performance. In these case studies, individual control points are examined to investigate how they can adjust diverse application behaviors including computational grain sizes, the amount of work offloaded to accelerators, the mapping of tasks to processors, the frequency of load balancing, and a communication throttling parameter.

Isaac Dooley, Intelligent Runtime Tuning of Parallel Applications With Control Points, Masters Thesis, Dept. of Computer Science, University of Illinois, 2010
Research Areas