BACKUS: Comprehensive High-Performance Research Software Engineering Approach for Simulations in Supercomputing Systems
This work addresses the problem of efficient and sustainable simulation software development for researchers in fields like physics, biology, and chemistry using high-performance computing, but it appears incremental as it combines existing techniques.
The paper tackles the challenge of developing long-lived parallel scientific codes for supercomputing systems by presenting BACKUS, a comprehensive high-performance research software engineering approach that integrates parallelism paradigms, advanced software engineering concepts, and best practices.
High-Performance Computing (HPC) platforms enable scientific software to achieve breakthroughs in many research fields such as physics, biology, and chemistry, by employing Research Software Engineering (RSE) techniques. These include 1) novel parallelism paradigms such as Shared Memory Parallelism (with e.g. OpenMP 4.5); Distributed Memory Parallelism (with e.g. MPI 4); Hybrid Parallelism which combines them; and Heterogeneous Parallelism (for CPUs, co-processors and accelerators), 2) introducing advanced Software Engineering concepts such as Object Oriented Parallel Programming (OOPP); Parallel Unit testing; Parallel I/O Formats; Hybrid Parallel Visualization; and 3) Selecting the Best Practices in other necessary areas such as User Interface; Automatic Documentation; Version Control and Project Management. In this work we present BACKUS: Comprehensive High-Performance Research Software Engineering Approach for Simulations in Supercomputing Systems, which we found to fit best for long-lived parallel scientific codes.