Software Sustainability and Performance Engineering

Software spielt in vielen Wissenschaftsdomänen eine zentrale Rolle. Dabei werden große Komponenten häufig über längere Zeiträume von einer Vielzahl von Entwicklern geschrieben. Oftmals werden diese Projekte auch nur für eine spezifische Rechenumgebung, beispielsweise ein bestimmtes HPC System oder lokale Rechenressourcen, entwickelt.

Mit steigender Anzahl von Entwickler und längerem Entwicklungszeitraum eines Projekts erhöht sich die Wahrscheinlichkeit, dass Fehler in die Codebasis eingefügt werden, da nicht bei jeder Änderung alle möglichen Konfigurationen manuell getestet und die Ergebnisse validiert werden können. Dadurch sinkt entweder die Qualität des Codes, oder es müssen erhebliche Personalaufwände für Integrationstests eingeplant werden, bevor eine neue Version veröffentlicht werden kann.
Außerdem erfordern Nutzungen in anderen Rechenumgebungen zusätzlichen Aufwand für Anpassungen und Validierungen der Software.
Dies trifft insbesondere bei der Portierung von Softwarebasen auf neue Hardwarearchitekturen zu.

Mit Continuous Integration, Testing und Benchmarking stehen Softwareentwicklern Methodiken und Werkzeuge zur Verfügung, um diese Aufgaben zu automatisieren und den nötigen Aufwand zu reduzieren.
Das Software Sustainability and Performance Engineering (SSPE) Team unterstützt wissenschaftliche Softwareentwickler bei der Auswahl der richtigen Werkzeuge, um wissenschaftliche Codes fit für die Zukunft zu machen, die zur Verfügung stehenden Rechenressourcen optimal auszunutzen und berät bei Portierung, Tests und Benchmarks auf neuen Architekturen, beispielsweise den Systemen der Future Technologies Partition des NHR Zentrums NHR@KIT.

 

Ansprechpartner: René Caspart