Hello,
A new project on the LCRC cluster has been requested. Please forward
the information on to the LCRC Allocation sub-committee.
Applicant's name: Prasanna Balaprakash
Applicant's institution: ANL
Applicant's division: MCS
Project Name: perfopt
Project title: Optimization Algorithms for Empirical Performance Tuning of Scientific Codes: Design, Ananlysis, and Implementation
Associated funding: DOE ASCR
Other Systems: Surveyor, ANL: 100000 core hours
NERSC: 100000 core hours
Science: Our scientific objectives are:
i) To advance the state-of-the-art in empirical performance tuning and adaptation of scientific applications on extreme scale architectures and thereby significantly increasing scientific productivity
ii) To improve our understanding of large-scale empirical performance tuning
iii) To develop novel mathematical optimization algorithms that exploits the characteristics of the search problem in performance tuning
Project description: The increasing complexity, heterogeneity, and rapid evolution of modern computer architectures present obstacles for achieving high performance of scientific codes. Even after algorithmic improvements --- seeking to improve scalability or minimize communication, for example --- are made, performance can vary greatly from machine to machine. Empirical performance tuning addresses this issue by selecting code variants based on their measured performance on the target machine. A major bottleneck in empirical performance tuning is the computation time associated with testing a large number of possible code variants, which grows exponentially with the number of tuning parameters. While typically parameters are tuned by hand, recent studies have shown that optimization algorithms can find high quality configurations quickly.
Our goal is to advance the state-of-the-art in empirical performance tuning and adaptation of scientific applications on extreme scale architectures and thereby significantly increasing scientific productivity. To achieve this goal, we will systematically evaluate the strengths and limitations of optimization algorithms in empirical performance tuning. This study will improve our understanding of large-scale empirical performance tuning and help us to identify open issues that need to be addressed which will require developing novel, flexible optimization approaches. A main aspect of this line of research will be the systematic integration and experimental analysis on multiple problem classes on different architectures. Currently, we are developing novel numerical optimization algorithms that exploits the characteristics of the search problem in performance tuning. We will investigate the effectiveness of the optimization algorithms and will conduct an experimental study of some popular optimization algorithms.
An important element needed for empirical performance tuning research is a collection of test problems that allow performance engineering and mathematical optimization researchers to conduct rigorous algorithmic developments and experimental studies. We developed a collection of extensible and portable search problems in automatic performance tuning (SPAPT). Each problem in SPAPT is a well defined mathematical optimization problem comprises a representative kernel from a scientific application, parameterized tuning directives, values for each parameter, input sizes, and an initial configuration for optimization algorithms. We will conduct experiments to show performance impacts of problem characteristics such as choice of performance objectives, noise, effect of cache misses, and input sizes.
On Fusion, we plan to conduct experiments on scalability, parallelization strategies (such as OpenMP, MPI, and their hybrids), genera, and architecture-specific code optimization techniques. Another benefit Fusion brings to this research is the ability to test the portability of empirical performance tuning techniques on Intel-based clusters. Eventually, we hope to deploy our techniques for improving the performance of scientific applications running on Fusion. We estimate 100,000 core hours for our experimental study: evaluation of the strengths and limitations of empirical performance tuning = 15,000 core hours; experimental analysis on multiple problem classes on different architectures = 30,000 core hours; empirical analysis for new approaches = 30,000 core hours; tests on parallel performance tuning approaches = 25,000 core hours; We will strongly involve in research dissemination activities such as writing scientific articles and giving seminars at Argonne and in conferences.
Concerning the percentage of serial jobs, in the the first and second quarter, our jobs will be 80% serial. For the third and fourth quarter, we will have 30%.
Project URL: http://www.mcs.anl.gov/research/project_detail.php?id=90
Requested allocation: 100000
Q1: 20000
Q2: 30000
Q3: 25000
Q4: 25000
Justification:
The requester has used undetermined hours of their initial startup project.
In addition to approving an initial amount, please specify a Category
and Subcategory for this project. For a list of the current selection
of approved categories, please see:
https://wiki.lcrc.anl.gov/wiki/Processes/Categories
Once the Allocation committee has approved the project, please go to
the Project Management page to create it:
https://accounts.lcrc.anl.gov/projects.php
Thank You,
The LCRC Accounts System