Computational Workflow and Resources
The AMP stellar modeling workflow consists of an ensemble of parallel genetic algorithm optimization runs. A scientist specifies a collection of observational constraints, such as oscillation frequencies, that constitute input data for the simulation run. Each run is then expanded into several independent parallel runs of the genetic algorithm, each using different random initial conditions. Each genetic algorithm may require several sequential invocations of the executable. When the ensemble of genetic algorithm runs is complete, the best solution is evaluated (using a separate processing step) to produce detailed output for presentation and analysis.
The stellar model itself it not parallel, as the model evaluation code executes only on a single processor. The genetic algorithm uses 128 MPI tasks to run coordinated model evaluations across the specified parameter space. On the NICS Kraken system, a typical experiment consists of 4 genetic algorithms executed in parallel. Each model only takes 15 minutes to execute, but the genetic algorithm executes on the order of 50,000 model evaluations during a typical run. The full genetic algorithm requires 40-50 wall-clock hours for end-to-end execution, yielding a total of 20,000 CPU hours for the entire ensemble.
Because of the computational requirements and embarrassingly parallel nature of the genetic algorithm, the executable periodically checkpoints so that it can be restarted later. The wall time of each executable invocation is typically limited to fit within site scheduler policy. Thus, each genetic algorithm run may actually consist of multiple invocations of the same executable. These invocations are continued until the genetic algorithm executes the required number of iterations.
AMP Architecture
The Asteroseismic Modeling Portal website provides a user interface allowing scientists to submit runs to the stellar workflow and view the results.
Architecturally, AMP consists of three components: the AMP web server, a database, and a processing daemon. The web server generates pages to construct the user interface; the processing daemon executes GRAM client calls to submit and monitor computational jobs on XSEDE resources.