teaching:wintersemester_2020_2021:parallelrechnerevaluation

Projekt „Parallelrechnerevaluation“

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 2.11. über die Mailingliste versendet.

Zeit Donnerstag, 14–16 Uhr
Ort Online Zoom 96326797531
Mailingliste PRE-2021

Dozenten

Themenliste

  1. Parallel partdiff 1) 2) – Alexander Günther
    • MPI-IO, verschiedene Zugriffsmuster, sync/async I/O, JULEA-interface
  2. Compression in Lustre 3) – Pablo Correa Gómez
    • Client/server communication
  3. Wahl-Optimierung mittels ungarischer Methode 4) 5) – Felix Wolf
    • Framework mit Frontend zum einfachen und fairen Wählen von mehreren Optionen, priorisiert, mit Veto
  4. Performance-Optimierung und Tests für SAGA-GIS 6) – Rasmus Pranke
  5. Design, implementation and operation of a workflow for automated conversion of climate data in the PByte range into the cloud-ready data format zarr. 7) 8) 9) – Georg Siemund
  6. Entwicklung einer automatisierten und parallelen Test-Suite für MaMiCo – Leonard Hannen, Felix Maurer 10)
  7. Automatisiertes Spack Testing auf Cluster-Architektur 11) – Elden Sokoli
  8. Automatisiertes Testen und Auswerten von parallelen Programmen – Aydin Abdurrahman, Popal Massi, Markaj Dritan 12) 13)

Open topics

  1. Erweiterung von ladvise um Kompression 14)
    • Daten vorkomprimiert, wie, womit, policy
  2. lz4 block/frame vs. zstd mit verschiedenen Speichertypen im Linux Kernel 15)
    • Implementieren und evaluieren, kmalloc, vmalloc, page arrays, compression stream
  3. Runge-Kutta-Nystrom integrator (English) 16)
    • Implement and evaluate the performance of C++ vs ALPAKA/libcudacpp RKN2 and RKN4, applied on the equation of motion
  4. Parallel Ant Colony Optimisation (Clojure) (English) 17)
    • Learning Clojure to some extent
    • Learning about the ACO paradigm
    • Translating it in the functional approach (ants will be functions, the exploration space a heavy dictionary datastructure)
    • The parallel approach: split the set of ants into subparts and allow them to explore the same datastructure
    • Evaluation: some basic graph path search initially (look for speedup)

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.

  • 05.11. Einführung und Themenvergabe
  • 10.12. Meeting (Besprechung mit allen)
  • 07.01. Meeting (Kurzpräsentationen)
  • 11.02. Meeting (Besprechung mit allen)
  • 04.03. Meeting (Finale Präsentation)
1) , 3) , 4) , 9) , 12) , 14) , 15)
Anna Fuchs
2)
Michael Kuhn
5) , 6) , 8) , 11) , 13)
Jannek Squar
7)
Hannes Thiemann
10)
Philipp Neumann
16)
Georgiana Mania
17)
Alexandru Gherega
teaching/wintersemester_2020_2021/parallelrechnerevaluation.txt · Last modified: 2021-03-02 10:10 by Jannek Squar