Forschungsbericht 2010 - Hochschule Ingolstadt
Forschungsbericht 2010 - Hochschule Ingolstadt
Forschungsbericht 2010 - Hochschule Ingolstadt
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Ansprechpartner<br />
Prof. Dr. Christian Facchi (Projektleiter)<br />
Telefon: 0841 9348-365<br />
christian.facchi@haw-ingolstadt.de<br />
setzt, der das Performance-Verhalten von verschiedenen<br />
Optimierungsmaßnahmen simulieren kann. Damit dieser<br />
Stub erstellt werden kann, muss zunächst das funktionale<br />
Verhalten der Software erfasst und mittels der „Simulated<br />
Software Functionality“ (Schritt 2.1) nachgestellt<br />
werden. Des Weiteren muss das Performance-Verhalten<br />
des Software-Moduls evaluiert werden und dieses mittels<br />
der „Performance Simulation Functions“ simuliert werden<br />
(Schritt 2.2). Somit steht ein vollständiger Stub für<br />
die Performance-Messungen zur Verfügung. Im weiteren<br />
Vorgehen werden im Schritt 3 die Performance-Messungen<br />
mehrfach durchgeführt, wobei zwischen jeder<br />
Iteration das Performance-Verhalten des Stubs geändert<br />
wird. Aus den so gewonnenen Messdaten lassen sich<br />
anschließend die nächsten Optimierungsschritte ableiten.<br />
So kann unter anderem das Optimierungspotenzial<br />
berechnet werden und auf dieser Grundlage der notwendige<br />
Aufwand abgeschätzt werden. Hieraus lässt sich<br />
eine Kosten-Nutzen-Analyse erstellen (Schritt 4). Der Optimalfall<br />
zwischen Aufwand und Nutzen wurde im Schritt<br />
4 farblich gekennzeichnet. Das Resultat ist eine zielgerichtete<br />
Optimierung, die nicht auf Annahmen, sondern<br />
auf fundierten Daten basiert. Im letzten Schritt (5) werden<br />
die gewonnenen Kenntnisse verwendet, um die Software<br />
zielgerichtet zu optimieren.<br />
erGebnisse<br />
Die „Performance Simulation Functions“ gehören zu dem<br />
Framework [1] der „Dynamic Performance Stubs“. Sie modellieren<br />
parametrisierbar das Performance-Verhalten des<br />
eigentlichen Flaschenhalses, somit können verschiedene<br />
Optimierungsstufen simuliert werden.<br />
performance simulation functions<br />
„Performance Simulation Functions“ sind in vier Kategorien<br />
unterteilt: CPU: Laufzeitverhalten<br />
Memory: Speicherbedarf<br />
I/O: Ein- / Ausgabedurchsatz<br />
Network: Netzwerkdurchsatz<br />
Beispielsweise modelliert die Kategorie „CPU“ das zeitliche<br />
Verhalten eines Prozesses [2] . Dieser kann, solange<br />
er aktiv ist, die CPU belegen oder freigeben. Das letztgenannte<br />
ist häufig der Fall, wenn der Prozess, z. B. weil<br />
nicht genügend Daten vorhanden sind, seine Aufgabe<br />
nicht fortführen kann. Die weiteren Kategorien sowie<br />
feinere Unterteilungen der einzelnen Kategorien können<br />
hier leider aus Platzgründen nicht behandelt werden.<br />
[1] Ein Framework stellt einen Rahmen / Aufbau der Software<br />
dem Programmierer zur Verfügung.<br />
[2] Als Prozess wird eine Anwendung bezeichnet, die gerade<br />
ausgeführt wird.<br />
Ansprechpartner<br />
Dipl.-Ing. (FH) Peter Trapp<br />
Telefon: 0841 9348-625<br />
peter.trapp@haw-ingolstadt.de<br />
AbstrAct<br />
Dynamic Performance Stubs support performance<br />
improvement; they can be used to identify “hidden”<br />
bottlenecks and also to provide better estimates of<br />
the gain from performance improvements. A costbenefit<br />
analysis of performance optimisations can<br />
be realized. This leads to an improved software<br />
optimisation process, which highly contributes to<br />
the overall software quality. The idea behind this<br />
stubbing mechanism will be described and the<br />
core concept will be explained. Furthermore, the<br />
framework is introduced and an introduction on<br />
“How to use dynamic performance stubs” is also<br />
included.<br />
Kooperationspartner<br />
AusblicK<br />
Die prinzipielle Stärke der definierten Methode zeigt sich<br />
insbesondere bei hochkomplexer Software, bei der sich<br />
die Auswirkungen einzelner Optimierungsmaßnahmen<br />
sogar durch die Spezialisten nicht vorab bestimmt werden<br />
können. Durch die Verwendung von „Dynamic Performance<br />
Stubs“ kann die Auswirkung einer Optimierung<br />
auf das Systemverhalten gemessen werden, bevor die<br />
Optimierung durchgeführt wird.<br />
Eine Erweiterung der „PerfOpt“-Forschungsarbeiten<br />
wurde bereits definiert und wird anhand eines öffentlich<br />
geförderten Projekts „PerfBoost“ bearbeitet. Hierbei soll<br />
eine mögliche Portierbarkeit auf Java evaluiert werden.<br />
Zusätzlich wird die Methodik auf „Embedded-“ und „Verteilte<br />
Systeme“ angewendet werden. Mit diesen Erweiterungen<br />
wird auch die Verwendbarkeit von „Dynamic<br />
Performance Stubs“ bei vielfältigen Software-Systemen<br />
validiert.<br />
Die Ergebnisse wurden in 6 wissenschaftlichen Publikationen<br />
veröffentlicht.<br />
32<br />
33