Suresoft: Sustainable Research Software Development and Deployment

SURESOFT Logo

Newsletter

If you are interested in our workshops and on the topic of scientific software development in general, you can subscribe for our newsletter on the topic

News

Series of workshops announcements

The suresoft project members are pleased to announce a series of practical and informational workshops on the hand-on techniques for developing a sustainable research software.

Targeted audience: academics researchers, students, research software developers.

Note that the workshops are held in English and include a hands-on session. Content is available on the workshop webpage.

  • Introductory workshop: Introducing Suresoft and its challenges. Date: 16.05.
    •  Registration: join with Webinar link​​​​ ​​​
  • Workshop 1:  Version Control using Git. Date: 13.06. 
  • Workshop 2:  Clean Code and Refactoring. Date: 11.07. 
  • Workshop 3: Introduction to Software Testing. Date: 08.08.
  •  Workshop 4:  Introduction to Continuous Integration (CI) using GitLab and Containers. Date: 05.09.
  • Workshop 5: Principles of Software Engineering. Date: 10.10
  • Workshop 6: Introduction to Design Patterns. Date: 07.11
  • Workshop 7: Working with legacy code.
    • Date: TBA. Webinar link: TBA
  • Workshop 8: Test Driven Development.
    • Date: TBA. Webinar link: TBA

Motivation

Research software is of fundamental importance for many disciplines to achieve scientific progress. The software is commonly developed by scientists, with a short-term perspective to gain specific results. In most cases, it ends up with instabilities as typically scientists are self-taught developers. As a result, the widespread and long-term usage is inhibited and consequently, the scientific research quality and progress pace are hindered.

SURESOFT project aims to establish a common usable methodology and infrastructure based on the concepts of continuous integration for all research software projects. Continuous integration is the enabler for improving the quality of research software, easing software delivery and ensuring long-term sustainability and availability. Furthermore, SURESOFT will use its technical basis of continuous integration to enable long-term archival and the reproducibility of results.
 

Projects

The aim is to apply the proposed approach to four research software packages developed at TU Braunschweig, in order to validate the project results and broaden their user base. It is estimated that up to now more than 150 years of scientific manpower have been invested into the development of the four research software frameworks (mostly funded by DFG, EU, and BMBF), which have currently the status of academic research codes. The projects are as follows:

SiMoNe Logo

The Simulator for Mobile Networks (SiMoNe) is an in-house simulation framework that serves as a realistic system level simulator for cellular and ad-hoc communications. A highly flexible and modular code structure enables simulations for a broad variety of scenarios and technologies, such as LTE, 5G, WiFi or V2X (Vehicle-to-Vehicle and Infrastructure).

Virtual Fluids Logo

VirtualFluids (VF) is a research code developed at the Institute for Computational Modeling in Civil Engineering (iRMB). The code is a Computational Fluid Dynamics (CFD) solver based on the Lattice Boltzmann Method (LBM) for turbulent, thermal, multiphase and multicomponent flow problems [1] as well as for multi-field problems such as Fluid-Structure-interaction [2] including distributed pre- and postprocessing capabilities for simulations with more than 100 billion degrees of freedom. VirtualFluids is designed to be used in both medium and massively parallel computing environments and has been proven to scale on High Performance Computing (HPC) systems with more that 100k cores (e.g. at Höchstleistungsrechenzentrum Stuttgart (HLRS), Leibniz-Rechenzentrum (LRZ) der Bayerischen Akademie der Wissenschaften and Verbund für Hoch- und Höchstleistungsrechnen (HLRN). As such the framework supports traditional CPU based architectures as well as GPGPU based systems and stands out due to a worldwide unique implementation of the cumulant collision model [3] and grid refinement on GPGPUs [4]. The cumulant model combines the two main advantages of the most established lattice Boltzmann models, the Bhatnagar–Gross–Krook (BGK) model and the multi- relaxation time (MRT) model. That is the ease of use of the BGK model and the freedom of choice in terms of parameters of the MRT model. More over the GPGPU variant allows for running interactive simulations close to real time in combination with stereoscopic presentations in virtual reality labs [5]. Furthermore, VirtualFluids can be used with the grid generator of the finite volume solver OpenFoam that is widely used in academics as well as in industry [6]. The research software has constantly been developed since 1998 and has served as the foundation for 17 successful Ph.D. theses and is currently the operating framework of further ongoing Ph.D. projects.

elPaSo Logo

Many fields of engineering are related to vibration analysis, modal analysis and wave propagation (including unbounded propagation). The elementary Parallel Solver “elPaSo” is suitable for vibroacoustic analyses of large-scale systems on high performance computing clusters and has been under constant development since 1996. The code is based on the Finite Element Method (FEM), the Boundary Element Method (BEM), and the Scaled Boundary FEM (SBFEM) and comprises various material models and element types.

PyADF Logo

In typical applications of quantum chemistry, a single or a few calculations are usually not sufficient. Instead, more complicated workflows are needed, in which a series of interrelated computational tasks is performed. In particular multiscale simulations, which combine different levels of accuracy, require a large number of individual calculations that depend on each other.

To automate such workflows, we have developed PyADF, a scripting framework for quantum chemistry. It handles all steps necessary in a typical workflow in quantum chemistry and is easily extensible. PyADF is written in the Python programming language and is interfaced to a number of different program packages, most importantly ADF, Dalton, Dirac, and NWChem.

Approach

The suresoft projects focus on three primary aspects to achieve sustainability: Continuous integration , easy and versatile deployment, reproducibility and archiving of results.

Suresoft

To achieve software sustainability, the global workflow will include 3 main services: An archiving service, continuous integration service, and bug reporting service.

The continuous integration service depicts an automated development and deployment process where the continuous integration platform is coupled to a version control system and a bug reporting tool. Once the developers commit their code and modifications are synchronized, the software components undergo a stage of automated build and macro testing, verifying the correctness of the implemented algorithms and detect core functionality defects. This stage delivers feedback to the developers, allowing them to act upon the results. The validated software can be automatically archived and easily deployed to fellow researchers and collaborators.

The archiving service features long-term maintenance of software in its source as well as deployable form. To achieve this, existing archival solutions will be utilized as a basis. Depending on the software and its system dependencies the service will provide images of plain systems, virtual machines or containers.

Impact

SURESOFT as a research-driven project will evaluate how and to what extent an integrated approach for continuous integration, deployment and long-term archival leads to sustainable research software
and is beneficial as it saves time, eases the implementation of so far neglected aspects such as reproducibility of experiments and increases the user base because of different forms of software
dissemination (i.e., ready to run and ready to develop).

All services required for developing software using SURESOFT will be offered via the Gauß-IT-Zentrum and shared with external research partners in the participating research software projects. At the end of this project each of the four participating software frameworks elPaSo, PyADF, SiMoNe, and VirtualFluids will be available to the public in the state of demonstrators by itself but even more importantly as a demonstrator of the devised SURESOFT approach.

   
Jan Pilawa GITZ
Prof. Dr. Rüdiger Kapitza Institute of Operating Systems and Computer Networks
Prof. Dr. Christoph Jacob Institute of Physical and Theoretical Chemistry
Prof. Dr. Ing. Manfred Krafczyk Institute for Computational Modeling in Civil Engineering
Prof. Dr. Ing. Thomas Kürner Institute for Communications Technology
Prof. Dr. Ing. Sabine Christine Langer Institute for Acoustics
Assoz. Prof. Dr. Ing. Leander Jehl Institute of Operating Systems and Computer Networks
Dr. Mario Wolter Institute of Physical and Theoretical Chemistry
Dr. Jan Linxweiler Institute for Computational Modeling in Civil Engineering
M.Sc. Ines Messadi Institute of Operating Systems and Computer Networks
M.Sc. Mohammad Mahhouk Institute of Operating Systems and Computer Networks
M.Sc. Björn Friebel Institute for Communications Technology
M.Sc. Nils Dreyer Institute for Communications Technology
M.Sc. Sören Peters Institute for Computational Modeling in Civil Engineering
M.Sc. Harikrishnan K. Sreekumar Institute for Acoustics
M.Sc. Christopher Blech Institute for Acoustics
Katrin Stump, M.A. University Library
Robert Strötgen, M.A. University Library
M.Sc. Sven Marcus University Library
M.Sc. Arne Vogel Institute of Operating Systems and Computer Networks
M.Sc. Mostafa Shamil Jassim Institute for Communications Technology
Hendrik Eggers Former TU Braunschweig CIO