Projekt „Parallelrechnerevaluation“

Beschreibung

Unter einem Parallelrechner versteht man einen Rechner, auf dem Anwendungen echt parallel ausgeführt werden können. Die heutzutage üblichen Desktop-PCs sind bereits kleine Parallelrechner, da mehrere Kerne eine echt parallele Abarbeitung von Anwendungen erlauben. Vor allem aufgrund der Verbreitung von letzteren wird in Zukunft die Programmierung von parallelen Programmen und Algorithmen an Bedeutung gewinnen. Cluster kombinieren mehrere Rechner über eine schnelle Vernetzung um auch größere Probleme schnell lösen zu können. Existierende Cluster-Supercomputer kommen auf mehrere 100.000 Prozessoren. Ein weiterer wichtiger Aspekt im Bereich der Supercomputer ist auch die effiziente Speicherung von großen Datenmengen.

Im Rahmen des Projekts können verschiedene Aspekte von Parallelrechnern genauer analysiert und evaluiert werden. Hierzu steht ein kleinerer Entwicklungscluster des Arbeitsbereichs zur Verfügung.

Die Themen gliedern sich in die Entwicklung von parallelen Anwendungensprototypen (beispielsweise für wissenschaftliche Probleme) und Dateisystemen, und die Evaluation von Hard- und Software (inklusive alternativer Programmiersprachen). Theoretische Betrachtungen und Evaluation der Thesen mittels Prototypen ebenfalls möglich.

Unter anderem können folgende Projekte bearbeitet werden:

  • Vergleich und Bewertung von Dateisystemsemantiken
    • Hierfür kann ein Prototyp programmiert werden (z. B. in C)
    • Eine theoretische Modellierung bzw. Simulation der Leistung ist auch möglich
  • Vergleich und Evaluation verteilter und paralleler Dateisysteme
  • Implementation neuer Prototypen für Dateisysteme (parallele oder lokale) mit FUSE
  • Evaluation von Ein-/Ausgabebibliotheken (z. B. HDF5)
  • Analyse von Leistungsaspekten der Ein-/Ausgabe
  • Leistungs- und Energiemessungen ausgewählter Programmierkonstrukte
  • Leistungs- und Energiemessungen von Hardware
  • Simulation von Luftflüssen im Rechnerraum
  • Leistungsmessungen von parallelen Umgebungen (MPI oder OpenMP)
    • Existierende Benchmarks anschauen, neue (kleine) Benchmarks programmieren
  • Simulation der Leistung von parallelen Umgebungen
    • Wie sollte eine parallele Umgebung (MPI) intern eine gute Kommunikation ermöglichen?
  • Spurdatenumgebung erweitern (mehrere Arbeiten)
    • Systemaufrufe erfassen
    • Abgeleitete Ein-/Ausgabe-Bibliotheken erfassen (z. B. NetCDF und HDF5)

Viele weitere Themen sind möglich. Damit wir besser Themen vorschlagen können empfehlen wir folgende Fragen zu beantworten:

  • Welche Programmiersprache (C, Python oder Java)
  • Programmieranteil am Projekt (Wenig programmieren und mehr Theorie/Evaluation/Dokumentation vs. viel programmieren)

Beachten Sie auch unsere allgemeinen organisatorischen Hinweise zu Projekten.

Zielgruppe

Das Projekt eignet sich für Studierende der Informatik in den Diplom- und Bachelorstudiengängen. Studierende anderer Studiengänge müssen die Anrechnung mit dem jeweiligen Prüfungsausschuss klären.

Interessierte Zuhörer sind auch herzlich willkommen.

Daten der Veranstaltung

Zeit Nach Absprache
Ort DKRZ, Raum 034
Beginn TBD
Vorbesprechung 30.09.11, 13:00 Uhr im DKRZ, Raum 034
Mailingliste PRE-1112

Dozenten

Zeitplan und Materialien

Bei einem allgemeinen Einführungstermin werden Grundlagen vermittelt.

Nach der Festlegung des Themas soll ein Projektplan erstellt und mit dem Betreuer diskutiert werden. Nach Durchführung des Projektplans wird das Ergebnis den anderen Projektteilnehmern vorgestellt.

Literaturhinweise