Abstract
There are many challenges that need to be met before efficient and reliable computation at the petascale is possible. Many scientific and engineering codes running at the petascale are likely to be memory intensive, which makes thrashing a serious problem for many petascale applications. One way to overcome this challenge is to use a dynamic number of processes, so that the total amount of memory available for the computation can be increased on demand. This paper describes modifications made to the massively parallel global optimization code pVTdirect in order to allow for a dynamic number of processes. In particular, the modified version of the code monitors memory use and spawns new processes if the amount of available memory is determined to be insufficient. The primary design challenges are discussed, and performance results are presented and analyzed.
Original language | English (US) |
---|---|
Pages (from-to) | 21-35 |
Number of pages | 15 |
Journal | Parallel Computing |
Volume | 39 |
Issue number | 1 |
DOIs | |
State | Published - Jan 2013 |
Externally published | Yes |
Bibliographical note
KAUST Repository Item: Exported on 2020-10-01Acknowledgements: The authors thank the National Energy Research Scientific Computing Center (NERSC) for use of the Carver cluster, and Aron Ahmadia at the King Abdullah University of Science and Technology (KAUST) for use of the Shaheen and Neser clusters. The authors are thankful to the anonymous reviewers for their insights that helped improve the paper.
This publication acknowledges KAUST support, but has no KAUST affiliated authors.