Pervolution
DFG-Projekt "Pervolution": Evolution der Software-Performance

Softwaresysteme sind inzwischen so komplex, dass sogar Entwicklerinnen und Entwickler die Performance ihrer Systeme aus dem Blick verlieren. Helfen soll das DFG-Projekt "Pervolution": Der Passauer Informatiker Professor Sven Apel arbeitet zusammen mit dem Weimarer Informatiker Professor Norbert Siegmund an einem Ansatz, der zuverlässige Prognosen für individuell zugeschnittene Systeme erlaubt.
Auf dem Bildschirm erscheint die Sanduhr - nichts geht mehr, dabei muss die Präsentation noch schnell fertig werden. Wenn die Performance des Softwaresystems schwächelt, führt das schnell zu Verärgerung bei den Anwenderinnen und Anwendern. Ein Team um Prof. Dr. Sven Apel, Inhaber des Lehrstuhls für Software Engineering I an der Universität Passau, entwickelt zusammen mit Prof. Dr. Norbert Siegmund, Inhaber des Lehrstuhls für Intelligente Softwaresysteme an der Bauhaus-Universität Weimar, einen Ansatz, der solche Performance-Probleme verhindern soll. Dies soll Software-Entwicklerinnen und Entwicklern helfen, den Überblick zu behalten, welche Konfigurationsoptionen sich bei der Konfiguration des Systems wie auf die Performance auswirken. Der Ansatz geht noch weiter: Eine Kombination aus Programmanalysen und Methoden des maschinellen Lernens soll Prognosen für die künftige Performance erlauben. Das Projekt erhält eine Sachbeihilfe der Deutschen Forschungsgemeinschaft (DFG).
Das bedeutet Performance
Der Begriff "Performance" hat je nach Nutzer und Szenario verschiedene Bedeutungen. So kann das Antwortzeitverhalten gemeint sein, also die Geschwindigkeit, in der das System bestimmte Nutzeraktionen verarbeiten kann, als auch die Anzahl von Anfragen, die eine Datenbank pro Sekunde beantwortet. Fast jedes komplexe Softwaresystem ist heute konfigurierbar und kann somit auf die Bedürfnisse von Nutzerinnen und Nutzern zugeschnitten werden. "Performance ist dabei eine Schlüsseleigenschaft", erklärt Prof. Dr. Apel. Doch die gewaltige Anzahl von Konfigurationsoptionen überfordert nicht nur Nutzerinnen und Nutzer, sondern auch Software-Entwickler. Einige Beispiele: 1995 hatte der Linux-Kernel (x86) 3284 Konfigurationsoptionen; 2012 verdoppelte sich diese Zahl nahezu auf 6319 Optionen. Der Apache Web Server vervierfachte gar die Anzahl an Optionen, von 150 im Jahr 1998 auf 600 in 2014. "Das Bestimmen von Optionen und deren Interkationen, die kritisch für Performance sind, ist für das menschliche Gehirn in solchen Szenarien nahezu unmöglich", sagt Prof. Dr. Apel. Hier kommen Programmanalyse und lernfähige Algorithmen ins Spiel.
Performance-bewusste Evolution
Das Team um Prof. Dr. Apel und Prof. Dr. Siegmund entwickelt im Projekt "Pervolution" einen Ansatz, der die Performance-bewusste Evolution von komplexen, konfigurierbaren Systemen unterstützt. Das wiederum soll Software-Entwicklerinnen und -Entwicklern helfen, informierte Entscheidungen hinsichtlich der Konfiguration und des Performance-Verhaltens eines Systems treffen zu können. Die Projektbeteiligten nähern sich dieser komplexen Aufgabe mit einer bislang einzigartigen Kombination von Techniken: Sie berücksichtigen bei ihren Überlegungen die beiden Dimensionen Zeit und Variabilität gleichrangig. Die Dimension Zeit beschreibt die jeweilige Version des Systems. Variabilität meint die jeweils möglichen Systemvarianten zu einem Zeitpunkt. "Technisch werden wir für jede Version eines Systems verschiedene Systemvarianten analysieren", erklärt Prof. Dr. Apel. "Wir vergleichen, wie sich Konfigurationsoptionen und deren Interaktionen auf Performance auswirken, und können dadurch Verbesserungen und Verschlechterungen erkennen." Künstliche Intelligenz soll dem Team dabei helfen: Die Programmanalysen werden mit Methoden des maschinellen Lernens verknüpft.
Projektbeteiligte und Laufzeit
Das Projekt wird gleichranging an zwei Standorten durchgeführt: Auf Seiten der Universität Passau leitet Prof. Dr. Sven Apel, Inhaber des Lehrstuhls für Software Engineering I das Projekt. Prof. Dr. Norbert Siegmund, Inhaber des Lehrstuhls für Intelligente Softwaresysteme, leitet das Projekt an der Bauhaus-Universität Weimar. Die Laufzeit beträgt drei Jahre.
Projektleitung an der Universität Passau | Prof. Dr. Sven Apel (Lehrstuhl für Software Engineering I) |
---|---|
Laufzeit | 01.10.2017 - 30.09.2020 |
Mittelgeber | ![]() DFG - Deutsche Forschungsgemeinschaft > DFG - Sachbeihilfe |
Themenfelder | Informatik, Informatik allgemein |