Vorlesung Performance Engineering of Enterprise Software Systems SS09

Aus SDQ-Wiki

Ankündigung: Exkursion zum IBM Forschungslabor in Böblingen

Termin der Vorlesung

Die Vorlesung wird von Dr.-Ing. Samuel Kounev gehalten, und zwar wöchentlich am Mittwoch, 11:30-13:00 im HS -101 im UG des Informatik-Hauptgebäudes (50.34). Erster Vorlesungstermin ist 22.4.2009.

Zielgruppe und Voraussetzungen

Studenten der Informatik (Master oder Hauptdiplom). Empfohlen wird das 7. Semester. Die Vorlesung kann als Teil der mündlichen Vertiefungsfachprüfung in "Softwaretechnik und Übersetzerbau" geprüft werden. Voraussetzungen sind Vordiplom oder Bachelor in Informatik, ferner muss die Prüfung in Softwaretechnik bzw. Softwaretechnik 1 erfolgreich bestanden worden sein.

Themen der Vorlesung

  1. Einführung in Performance-Engineering von betrieblichen Softwaresystemen
    1. Lebenszyklus eines Systems
    2. Grundlegende Konzepte
    3. Ansätze zum Performance-Engineering
    4. Kapazitätsplannung
  2. Performance-Messtechniken
    1. Performance-Metriken
    2. Durchschnittliche Performance und Variabilität
    3. Modellierung der Messfehler
    4. Vergleichen von Alternativen basierend auf Messdaten
    5. Werkzeuge und Techniken zum Messen der Performanz
    6. Experimentelles-Design
  3. Benchmarking von betrieblichen Softwaresystemen
    1. Methodiken zum Benchmarking
    2. Übersicht über populäre Benchmarks
    3. Anwendungen von Benchmarks
  4. Modellierung zur Performanz-Vorhersage
    1. Operationale Analyse
    2. Charakterisierung des Benutzungsprofils
    3. Modellierungsmethodiken
    4. Analysemodelle zur Performanz-Vorhersage
    5. Entwurfsorientierte Performanz-Metamodelle
  5. Fallstudien

Vorlesungsbeschreibung

An moderne Softwaresysteme für Unternehmenseinsatz, die auf Technologien wie Java EE oder .NET basieren, werden hohe und immer weiter steigende Anforderungen in Bezug auf Performance und Skalierbarkeit gestellt. Es gibt dazu zahlreiche Studien, insbesondere in den Bereichen wie eBusiness, Telekommunikation, Gesundheitswesen und Verkehr: sie zeigen, dass das Nichterfüllen von Performance-Anforderungen zu erheblichen finanziellen Verlusten, Kundenabwanderung, Ansehensverlust und sogar zu menschlichen Opfern führen können. Um die Fallgruben zu vermeiden, die zu inadequater Dienstgüte führen, ist es wichtig, die erwartete Performance abzuschätzen, und die Skalierungsvermögen von Systemen zu analysieren – und zwar in jeder Phase des Lebenszykluses der Software-Systeme. Die Vorgehensweisen, um dies zu bewerkstelligen, sind teil einer Informatik-Disziplin, die sich „Performance Engineering“ nennt. Diese Disziplin setzt sich zum Ziel, die Performance abzuschätzen, die ein System erbringen kann, und erarbeitet Empfehlungen, um ein möglichst optimales Performance-Niveau zu erreichen.

Das Ziel der Vorlesung besteht darin, eine Einführung in die wichtigsten Methoden und Techniken für Performance Engineering im Bereich der Unternehmensanwendungen zu bieten. Die Studenten werden zunächst mit modernen Techniken der Performance-Messungen vertraut gemacht, wie z.B. Plattform-Benchmarking, Profiling von Anwendungen und Lasttests von Systemen. Die verschiedenen Typen der Arbeitslast-Modelle werden diskutiert, wie sie in Studien für Performance-Evaluation verwendet werden. Eine Übersicht aktueller Benchmarks für Geschäftsanwendungen wird ebenso präsentiert. Aufbauend darauf werden aktuelle Methoden für Performance-Modellierung und Performance-Vorhersage vorgestellt, sodass die Studenten die wichtigsten Typen von Performance-Modellen aus der Praxis kennen, mitsamt ihrer Vor- und Nachteile. Schliesslich wird ein Überblick über aktuelle entwurfsorientierte Meta-Modelle im Bereich Performance geboten. Über die gesamte Vorlesung hinweg werden Fallstudien von realen Systemen verwendet, um die diskutierten Konzepte zu veranschaulichen.

Vorlesungsunterlagen

Die nachfolgend verlinkte Materialien werden auf Emblem-readonly small.png http://sdqweb.ipd.uka.de/lehre/SS09-PEESS für Sie bereit gestellt. Der Zugang ist passwortgeschützt; Benutzername: stud. Das Passwort wird Ihnen in der Vorlesung mitgeteilt.

Nr. Termin Thema Emblem-readonly small.png Folien
1. 22.04. Einführung und Begriffsdefinitionen

1-auf-1 3-auf-1 6-auf-1

2. 29.04. Teil A: QoS-Eigenschaften; Lebenszyklus eines Enterprise-Systems
Teil B: Performance-Metriken

Teil A, 1-auf-1 Teil A, 3-auf-1 Teil A, 6-auf-1
Teil B, 1-auf-1 Teil B, 3-auf-1 Teil B, 6-auf-1

3. 06.05. Teil A: Modellierung der Messfehler, Konfidenzintervale für Mittelwerte und Proportionen
Teil B: Vergleichen von Alternativen basierend auf Messdaten

Teil A, 1-auf-1 Teil A, 3-auf-1 Teil A, 6-auf-1
Teil B, 1-auf-1 Teil B, 3-auf-1 Teil B, 6-auf-1

4. 13.05. Teil A: Vergleichen von mehr als zwei Alternativen
Teil B: Mehrfaktorielle Varianzanalyse

Teil A, 1-auf-1 Teil A, 3-auf-1 Teil A, 6-auf-1
Teil B, 1-auf-1 Teil B, 3-auf-1 Teil B, 6-auf-1

5. 20.05. Benchmarking

1-auf-1 3-auf-1 6-auf-1

6. 27.05. Experimentelle Performance-Analyse mit R

1-auf-1 3-auf-1 6-auf-1

7. 03.06. Performance-Modelle - Einführung und Begriffsdefinitionen

1-auf-1 3-auf-1 6-auf-1

8. 10.06. Teil A: Operational Analysis
Teil B: Bounds Analysis (Schranken-Analyse)

1-auf-1 3-auf-1 6-auf-1
1-auf-1 3-auf-1 6-auf-1

9. 17.06. Modellierung mit Warteschlangen

1-auf-1 3-auf-1 6-auf-1

10. 24.06. Warteschlangennetze

1-auf-1 3-auf-1 6-auf-1

11. 01.07. Fallstudie: Modellierung mit Warteschlangennetzen

1-auf-1 3-auf-1 6-auf-1

12. 08.07. Teil A: Modellierungsmethodik
Teil B: Servicezeiten bei Netzwerken und Festplatten (optional)

Teil A, 1-auf-1 Teil A, 3-auf-1 Teil A, 6-auf-1
Teil B, 1-auf-1 Teil B, 3-auf-1 Teil B, 6-auf-1

13. 15.07. Petri-Netze - Einführung und Anwendungsbeispiele

1-auf-1 3-auf-1 6-auf-1

14. 22.07. Teil A: Palladio Component Model (PCM)
Teil B: Fallstudie: Automated Extraction of Palladio Component Models
Teil C: Fallstudie: Performance Modeling of Storage Virtualization

Teil A, 1-auf-1 Teil A, 3-auf-1 Teil A, 6-auf-1
Teil B, 1-auf-1 Teil B, 3-auf-1 Teil B, 6-auf-1
Teil C, 1-auf-1 Teil C, 3-auf-1 Teil C, 6-auf-1