Cycle-Stealing in Load-Imbalanced HPC Applications
It is practical to steal cycles when Message Passing Interface (MPI) programs are load imbalanced, either from natural algorithmic load, because of collective communication and/or process skew, and/or because of variable message loads and needs for message progress within the MPI implementation. We introduce TimeLord, a runtime library to provide fungibility for compute-cycles without significantly degrading the nominal performance of the parallel application. We propose three means to exploit wasted cycles in LAMMPS, miniFE, and miniAMR. The results show, on average, 40% of the runtime can be used to execute extra computations and that runtime overheads are less than 4%. We envisage that these extra computations be related to the target application; here, for simplicity and proof-of-concept, we assume arbitrary commodity applications. Additionally, TimeLord uncovers inefficiencies in the MPI progress engine and improves baseline performance. We explore some fundamental issues of load imbalance and its interaction with system software, including the predictability of extra time and the relative benefits of prediction versus preemption. TimeLord requires no changes to the MPI application, MPI implementation, or other system components.
Authors
- Martin Herbordt (ORCID: https://orcid.org/0000-0002-3443-9113)
- B Li
- Anthony Skjellum (ORCID: https://orcid.org/0000-0001-5252-6600)
- Pouya Haghi (ORCID: https://orcid.org/0000-0003-2893-9194)
- Shengyou Yang (ORCID: https://orcid.org/0000-0002-7886-8446)
- Po Hao Chen (ORCID: https://orcid.org/0009-0005-8164-7061)
- Carlton Knox
- Akshaya Bali
- Amr Akmal Abouelmagd
Institutions
- Boston University (US)
- Tennessee Technological University (US)
Publication Details
- Published
- 2024-09-23
- DOI
- https://doi.org/10.1109/hpec62836.2024.10938500
- Citations
- 1
- Primary Topic
- Advanced Data Storage Technologies
- Type
- article
- Field-Weighted Citation Impact
- 0.35
Funders
- National Science Foundation