Table of Contents
Projekt "Parallele Systeme"
Beschreibung
Unter einem Parallelrechner versteht man einen Rechner, auf dem Anwendungen echt parallel ausgeführt werden können. Die heutzutage üblichen Laptop- und Desktop-Rechner sind bereits kleine Parallelrechner, da mehrere Kerne eine echt parallele Abarbeitung von Anwendungen erlauben. Daher gewinnt die Programmierung von parallelen Programmen und Algorithmen immer mehr an Bedeutung und Wichtigkeit. Durch die steigenden Berechnungskapazitäten werden außerdem immer größere Datenmengen produziert.
Im Rahmen des Projekts werden daher verschiedene Aspekte von Parallelrechnern mithilfe moderner Methoden genauer analysiert und evaluiert. Big-Data-Ansätze erlauben die Analyse der immer weiter wachsenden Datenflut, während Machine-Learning-Methoden zunehmend klassische Problemlösungsansätze ersetzen. Leistungskritische Komponenten werden dabei häufig in hardwarenahen Sprachen wie C oder C++ entwickelt, während einfacher zu erlernende Sprachen wie Python eine komfortable Nutzung durch Anwender erlauben.
Konkrete Themen orientieren sich stark an aktuellen Forschungsfragen und werden daher erst am Einführungstermin vorgestellt. Beispiele können Sie in der Liste der letzten Jahre finden. Wir stehen außerdem interessanten Themenvorschlägen offen gegenüber.
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
Die Veranstaltung findet online statt. Das Zoom-Passwort wird am 11.10. über die Mailingliste versendet.
Dozenten
- Anna Fuchs (Ansprechpartner)
Themenliste
Vergebene Themen
- DDT ist zu teuer (Entwicklung einer GUI für paralleles Debugging mit GDB-Backend) 1) - Alexander Klassen, Malte Eickhoff
Reproduktion WR-Cluster mittels Ansible 2) - Anna-Maria Dickmann, Jeremy SinickiContainerisierung des DWD OpenData-Downloader 3) - Martin Grundmannangepasstes Preprocessing
- Studie zu I/O pattern in (wissenschaftlicher) Software 4) - Beatrice Beyer,
Michele Morrone, Mohammed Ert- Recherchieren, welches I/O-Verhalten wissenschaftliche Anwendungen aufweisen
- Einige selbst ausprobieren und Analysieren
- Ggf. Interviews etc.
- Survey: Verwendung von OpenMP in OpenSource Applikationen (Github) 5)6) -
Khorshid Biria, Janis Ruge, Theodor Bajusz- Paper: The Promises and Perils of Mining GitHub
- Verwendung von MPI-IO, HDF5 in OpenSource Applikationen
- Framework zur automatisierten Softwareanalyse im HPC-Bereich 7) - Nihad Ismayilzada, Frederic Voigt, Maximilian Keiff
- Profiler, Tracer, etc.
- Konfigurationen, Bauen, Ausführen
- Grafische Ausgabe
OneAPI: Valide Alternative zu OpenMP/MPI? 8) - Lars TaddeyImplementierung zusätzlicher Kommunikationsmuster in CATO 9) - Marcel Robohm-
- OpenSSI (tot)
Noch offene Themen
- OneAPI: Valide Alternative zu OpenMP/MPI? 11)
- Integration Mustererkennung in CATO 12)
- Evaluation der Kompressionsalgorithmen 13)
- Verschiedene (wiss.) Daten, verschiedene Blockgrößen
- CPU- und Speicherverbrauch mitmessen
- lz4, zstd, brotli, gzip, cmix, precomp, etc.
- ZFS: User-Hints an der Lustre-Schnittstelle einbauen 14)
- Prüfen, was es schon gibt
- fadvise, ladvise
- Um Kompression erweitern
Generator für komprimierbare Daten 15)- DAOS ausprobieren und evaluieren 16)
Zeitplan und Materialien
Bei einem allgemeinen Einführungstermin werden Grundlagen vermittelt. Außerdem werden die Teilnehmer in Gruppen eingeteilt und bekommen Themen zugewiesen.
Nach der Festlegung der Themen soll ein Projektplan erstellt und mit dem jeweiligen Betreuer diskutiert werden. Regelmäßige Zwischenbesprechungen und -präsentationen sowie eine Abschlusspräsentation dienen dazu die Ergebnisse den anderen Projektteilnehmern vorzustellen.
- 14.10.2021 Einführung und Themenvergabe
- 25.11 Meeting (Besprechung mit allen)
16.12 Meeting (Kurzpräsentationen)- 13.01 Meeting (Kurzpräsentationen)
- 20.01 Meeting (Kurzpräsentationen)
- TBD Meeting (Finale Präsentation)