Malleable implementation of SERGHEI-SWE with DMR

Research topic and goals

SERGHEI-SWE is a performance-portable high-performance parallel-computing shallow-water solver for hydrology and environmental studies. A key application is flood simulation, in which the wet computational domain can dramatically change size. Wet areas are much more computationally expensive to simulate than dry ones, so counting with additional data processing resources for high water stages is critical for providing results in a reasonable time frame. However, underutilizing the resources during dry stages harms the productivity and resource use efficiency of the HPC facility while being unfair to the rest of the users who see delayed their experiments. The variability of the flood size cannot be determined a priori, and therefore optimal resource selection for the job is difficult, especially for long simulations.

This project aims to design, develop, and implement a malleable version of SERGHEI-SWE with the Dynamic Management of Resources (DMR) technology, providing a flexible framework for enabling malleability in HPC applications.

This project aims to:

  • Increase cluster productivity in terms of completed simulations per unit of time when running several instances of SERGHEI-SWE malleable in an HPC cluster.
  • Extend DMR with performance-aware reconfiguration techniques.
  • Design efficient data redistribution strategies for dynamic resources in SERGHEI-SWE.

Impact and publications

None yet.

Future plans

Study new reconfiguration strategies and evaluate them in a large workload.

References

  1. Caviedes-Voullième, Daniel, Mario Morales-Hernández, Matthew R. Norman, and Ilhan Özgen-Xian. 2023. “SERGHEI (SERGHEI-SWE) v1.0: a Performance-Portable High-Performance Parallel-Computing Shallow-Water Solver for Hydrology and Environmental Hydraulics.” Geoscientific Model Development 16 (3). Copernicus GmbH: 977–1008. doi:10.5194/gmd-16-977-2023.
    @article{Caviedes2023,
      author = {Caviedes-Voulli\`eme, Daniel and Morales-Hern\'andez, Mario and Norman, Matthew R. and \"Ozgen-Xian, Ilhan},
      journal = {Geoscientific Model Development},
      title = {{SERGHEI} ({SERGHEI}-{SWE}) v1.0: a performance-portable high-performance parallel-computing shallow-water solver for hydrology and environmental hydraulics},
      year = {2023},
      month = feb,
      number = {3},
      pages = {977--1008},
      volume = {16},
      doi = {10.5194/gmd-16-977-2023},
      file = {:Caviedes2023.pdf:PDF},
      groups = {Surface flows},
      publisher = {Copernicus {GmbH}}
    }
    
  2. Iserte, Sergio, Rafael Mayo, Enrique S. Quintana-Ortí, and Antonio J. Peña. 2021. “DMRlib: Easy-Coding and Efficient Resource Management for Job Malleability.” IEEE Transactions on Computers 70 (9): 1443–57. doi:10.1109/TC.2020.3022933.
    @article{iserte_dmrlib_2021,
      title = {{DMRlib}: {Easy}-{Coding} and {Efficient} {Resource} {Management} for {Job} {Malleability}},
      volume = {70},
      copyright = {All rights reserved},
      issn = {1557-9956},
      shorttitle = {{DMRlib}},
      url = {https://ieeexplore.ieee.org/document/9190024},
      doi = {10.1109/TC.2020.3022933},
      number = {9},
      urldate = {2024-01-23},
      journal = {IEEE Transactions on Computers},
      author = {Iserte, Sergio and Mayo, Rafael and Quintana-Ortí, Enrique S. and Peña, Antonio J.},
      month = sep,
      year = {2021},
      note = {Conference Name: IEEE Transactions on Computers},
      pages = {1443--1457},
      file = {Full Text:C\:\\Users\\siser\\Zotero\\storage\\7H5IJ6XY\\Iserte et al. - 2021 - DMRlib Easy-Coding and Efficient Resource Managem.pdf:application/pdf}
    }
    
    Process malleability has proved to have a highly positive impact on the resource utilization and global productivity in data centers compared with the conventional static resource allocation policy. However, the non-negligible additional development effort this solution imposes has constrained its adoption by the scientific programming community. In this work, we present DMRlib, a library designed to offer the global advantages of process malleability while providing a minimalist MPI-like syntax. The library includes a series of predefined communication patterns that greatly ease the development of malleable applications. In addition, we deploy several scenarios to demonstrate the positive impact of process malleability featuring different scalability patterns. Concretely, we study two job submission modes (rigid and moldable) in order to identify the best-case scenarios for malleability using metrics such as resource allocation rate, completed jobs per second, and energy consumption. The experiments prove that our elastic approach may improve global throughput by a factor higher than 3x compared to the traditional workloads of non-malleable jobs.