07.12.2012 Aufrufe

Forschungsbericht 2010 - Hochschule Ingolstadt

Forschungsbericht 2010 - Hochschule Ingolstadt

Forschungsbericht 2010 - Hochschule Ingolstadt

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!