Productivity and Software Development Effort Estimation in High-Performance Computing

  • Produktivität und Software-Entwicklungsaufwand im Hochleistungsrechnen

Wienke, Sandra; Müller, Matthias (Thesis advisor); Ludwig, Thomas (Thesis advisor)

1. Auflage. - Aachen : Apprimus Verlag (2017, 2018)
Buch, Doktorarbeit

In: Ergebnisse aus der Informatik 9
Seite(n)/Artikel-Nr.: 1 Online-Ressource (xvi, 226 Seiten) : Illustrationen, Diagramme

Dissertation, RWTH Aachen University, 2017

Kurzfassung

Mit dem stetig wachsenden Bedarf an Rechenleistung erhöhen sich die elektrische Leistung und die Hardware- und Softwarekomplexität im Hochleistungsrechnen (HPC). Die steigenden Kosten für Maschinerie, Energie und Programmierung belasten dabei verfügbare Budgets zunehmend. Infolgedessen werden auch fundierte Entscheidungskriterien für die Verwendung vorhandener Budgets bedeutsamer. Besonders in Beschaffungsprozessen werden quantitative Metriken benötigt um die Kostenwirksamkeit eines HPC Zentrums abzuschätzen.In dieser Arbeit stelle ich Modelle und Methodiken zur Unterstützung von Beschaffungen in deutschen, universitären HPC Zentren auf. Ich modelliere ihre Kostenwirksamkeit als Produktivitätsmetrik mit dem Verhältnis von wissenschaftlichen Resultaten (erzeugt über die Lebenszeit des HPC Systems) zu seinen Gesamtkosten (TCO). Meine weiterführende Darstellung der wissenschaftlichen Resultate als aggregierte Ausführungszahl aller (Simulations-)Anwendungen auf dem HPC System deckt auch die typische Programm-Mischung eines HPC Clusters ab. Ich untersuche die Vorhersagbarkeit der Parameter des Produktivitätsmodells und zeige, dass das Modell robust gegenüber Fehlern in realen HPC Setups ist.Als Teil der Produktivitätsmetrik führe ich ein Gesamtkosten-Modell eines HPC Zentrums ein, das zwischen einmaligen und jährlichen Kosten, zwischen Ausgaben basierend auf der Rechenknotenzahl und dem Rechenknotentyp, sowie zwischen system- und anwendungsabhängigen Kosten differenziert. Darüber hinaus diskutiere ich mögliche Quantifizierungen und Vorhersagbarkeiten der TCO-Komponenten.Da die Wichtigkeit des Entwicklungsaufwands als Gesamtkostenteil steigt, führe ich eine Methodik zur HPC Aufwandsschätzung basierend auf einem sog. Performance-Lebenszyklus ein, der den Zusammenhang zwischen Entwicklungszeit für die wissenschaftliche Anwendung und erreichter Maschinen-Leistung beschreibt. Zur Identifizierung von Faktoren mit Einfluss auf den Aufwand dienen Umfragen zur Prioritäten-Bildung. Beispielsweise ist das HPC Vorwissen eines Entwicklers eine Schlüsselkomponente, die ich mit Umfragen zur Wissens-Selbsteinschätzung angehe. Ebenfalls untersuche ich den Einfluss des parallelen Programmiermodells. Da aussagekräftige Quantifizierungen auf ausreichenden Daten beruhen, motiviere ich ihre Erhebung in einem HPC-weiten Ansatz durch die Unterstützung von Werkzeugen und Methoden.Schließlich stelle ich eine Fallstudie aus dem Bereich der Aeroakustik-Simulation vor, in der ich die Anwendbarkeit meiner Methodiken und Modelle darstelle.

Identifikationsnummern

Downloads