As scientific applications extend to the simulation of more and more complex systems, they involve an increasing number of abstraction levels, at each of which errors can emerge and across which they can propagate; tools for correctness evaluation and enforcement at every level (from the code level to the application level) are therefore necessary. Whilst code-level debugging tools are already a well established standard, application-level tools are lagging behind, possibly due to their stronger dependence on the application's details. In this paper, we describe the programming model introduced by the Cactus framework, review the High Performance Computing (HPC) challenges that Cactus is designed to address, and illustrate the correctness strategies that are currently available in Cactus at the code, component, and application level.
@article{arxiv.1101.3161,
title = {Ensuring Correctness at the Application Level: a Software Framework Approach},
author = {Eloisa Bentivegna and Gabrielle Allen and Oleg Korobkin and Erik Schnetter},
journal= {arXiv preprint arXiv:1101.3161},
year = {2011}
}
Comments
11 pages, 5 figures, presented at the 2009 Workshop on Component-Based High Performance Computing (CBHPC 2009)