Start |  english |  Kontakt | Internes |  KIT

Praxis der Softwareentwicklung: Tools

Dozenten

Prof. Dr. Wolfgang Karl,
David Kramer,
Oliver Mattes

Optimierungswerkzeuge für die parallele Programmierung

Praxis der Softwareentwicklung (PSE)

In PSE lernen Sie, ein vollständiges Softwareprojekt nach dem Stand der Softwaretechnik in einem Team mit 5 bis 6 Teilnehmern durchzuführen. Ziel ist es insbesondere, Verfahren des Software-Entwurfs und der Qualitätssicherung praktisch einzusetzen, Implementierungskompetenz umzusetzen und arbeitsteilig im Team zu kooperieren.

Aufgabenstellung:

Multicore-Prozessoren finden sich bereits heute in Rechnern aller Einsatzgebiete. Sie erfordern daher die Parallelisierung von Anwendungen auf Thread-Ebene, um das Leistungspotential dieser parallelen Architekturen effizient ausnützen zu können. Leider existieren bei der parallelen Programmierung zahlreiche Probleme (z.B. ungünstige Verteilung der Arbeitslast, unnötige Synchronisationen, ...), die den erreichbaren Parallelismus reduzieren. Zur Identifikation und Lokalisation dieser Problemstellen werden daher geeignete Werkzeuge benötigt.

Ziel dieser Veranstaltung ist nun die Entwicklung und Implementierung eines Frameworks, welches Entwickler bei der Optimierung von parallelen Anwendungen unterstützt. Genauer, es soll ein flexibles Visualisierungsframework für Transactional Memory-Ereignisfolgen realisiert werden.

Transactional Memory ist ein Konzept zur optimistischen Synchronisation von parallelen Anwendungen. Zugriffe auf gemeinsam genutzte Daten werden bei Transactional Memory in sog. Transaktionen gekapselt, welche parallel ausgeführt werden können. Im Falle eines Zugriffskonflikts, z.B. wenn mehrere Threads auf ein Datum schreibend zugreifen, wird eine der beteiligten Transaktionen abgebrochen und neu gestartet. Durch diesen Mechanismus wird die Korrektheit der Anwendung gewährleistet.

Der Hauptfokus liegt hier nun auf der graphischen Darstellung der Ereignisfolgen, um Entwicklern die schnelle Identifikation von Problemfällen zu ermöglichen. Hierzu müssen die Ereignisfolgen eingelesen, in einem internen Datenformat zwischengespeichert und geeignet visualisiert werden. Insbesondere ist hier auf eine flexible Visualisierung zu achten, so soll z.B. ermöglicht werden, dass mehrere Traces miteinander verglichen werden können oder eine Ereignisfolge in unterschiedlichen Darstellungen dargestellt wird.

Aufgabenstellung als PDF.

Zeitlicher Ablauf:

Die Veranstaltung gliedert sich insgesamt in fünf Phasen. Jede Phase wird durch ein Kolloquium abgeschlossen, in dem die Gruppen ihre Ergebnisse vorstellen.

  • Erstellung des Pflichtenheftes
  • Objektorientierter Entwurf
  • Implementierung in einer objektorientierten Sprache
  • Validierung
  • Interne Abnahme und Präsentation des fertigen Systems

Termine

Die Auftaktveranstaltung findet am 18.02.2010 um 10:00 - 12:00 Uhr im HS -101 (Geb. 50.34) statt. Dort werden die verschiedenen Aufgaben vorgestellt und erklärt, wie die Gruppen eingeteilt werden.

Datum Ort Thema Unterlagen
18.02.2010, 10:00 Uhr HS -101, Geb. 50.34 Auftaktveranstaltung PSE_ITEC_KARL.pdf

Weiterführende Links

Die Liste wird noch ergänzt.