====== 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 [[:teaching:organisatorische_hinweise:projekte|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.//
|| Zeit || Donnerstag, 14--16 Uhr ||
|| Ort || Zoom Meeting-ID 618 1371 6599 [[https://uni-hamburg.zoom.us/j/61813716599|Link]] ||
|| Mailingliste || [[https://wr.informatik.uni-hamburg.de/listinfo/ps-2122|PS-2122]] ||
===== Dozenten =====
* [[People:Anna Fuchs]] (Ansprechpartner)
* [[People:Jannek Squar]]
===== Themenliste =====
**Vergebene Themen**
* DDT ist zu teuer (Entwicklung einer GUI für paralleles Debugging mit GDB-Backend) ((Jannek Squar)) - Alexander Klassen, Malte Eickhoff
* Reproduktion WR-Cluster mittels Ansible ((Jannek Squar)) - Anna-Maria Dickmann, Jeremy Sinicki
* Containerisierung des DWD OpenData-Downloader ((Jannek Squar)) - Martin Grundmann
* angepasstes Preprocessing
* Studie zu I/O pattern in (wissenschaftlicher) Software ((Anna Fuchs)) - 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) ((Jannek Squar))((Anna Fuchs)) - Khorshid Biria, Janis Ruge, Theodor Bajusz
* [[https://research.cs.queensu.ca/home/ahmed/home/teaching/CISC880/F14/papers/MiningGitHub_MSR2014.pdf|Paper]]: The Promises and Perils of Mining GitHub
* Verwendung von MPI-IO, HDF5 in OpenSource Applikationen
* Framework zur automatisierten Softwareanalyse im HPC-Bereich ((Anna Fuchs)) - Nihad Ismayilzada, Frederic Voigt, Maximilian Keiff
* Profiler, Tracer, etc.
* Konfigurationen, Bauen, Ausführen
* Grafische Ausgabe
* OneAPI: Valide Alternative zu OpenMP/MPI? ((Jannek Squar)) - Lars Taddey
* Implementierung zusätzlicher Kommunikationsmuster in CATO ((Jannek Squar)) - Marcel Robohm
* Evaluation von Single System Images ((Jannek Squar)) - Niclas Schroeter {{ :teaching:wintersemester_2021_2022:ps-2122-schroeter.pdf |Bericht}}
* [[http://www.popcornlinux.org/index.php/overview|Popcorn Linux]]
* [[https://sourceforge.net/projects/ssic-linux/|OpenSSI]] (tot)
**Noch offene Themen **
* OneAPI: Valide Alternative zu OpenMP/MPI? ((Jannek Squar))
* Integration Mustererkennung in CATO ((Jannek Squar))
* {{ :research:theses:ruben_felgenhauer_optimising_scientific_software_for_heterogeneous_cluster_computers_evaluation_of_machine_learning_methods_for_source_code_classification.pdf |Masterarbeit}}
* Evaluation der Kompressionsalgorithmen ((Anna Fuchs))
* 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 ((Anna Fuchs))
* Prüfen, was es schon gibt
* fadvise, ladvise
* Um Kompression erweitern
* Generator für komprimierbare Daten ((Anna Fuchs))
* DAOS ausprobieren und evaluieren ((Anna Fuchs))
===== 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)