- AutorIn
- David Haensel
- Titel
- A C++ based MPI-enabled Tasking Framework to Efficiently Parallelize Fast Multipole Methods for Molecular Dynamics
- Zitierfähige Url:
- https://nbn-resolving.org/urn:nbn:de:bsz:14-qucosa2-314122
- Datum der Einreichung
- 02.03.2018
- Datum der Verteidigung
- 02.07.2018
- Abstract (EN)
- Today's supercomputers gain their performance through a rapidly increasing number of cores per node. To tackle issues arising from those developments new parallelization approaches guided by modern software engineering are inevitable. The concept of task-based parallelization is a promising candidate to overcome many of those challenges. However, for latency-critical applications, like molecular dynamics, available tasking frameworks introduce considerable overheads. In this work a lightweight task engine for latency-critical applications is proposed. The main contributions of this thesis are a static data-flow dispatcher, a type-driven priority scheduler and an extension for communication-enabled tasks. The dispatcher allows a user-configurable mapping of algorithmic dependencies in the task-engine at compile-time. Resolving these dependencies at compile-time reduces the run-time overhead. The scheduler enables the prioritized execution of a critical path of an algorithm. Additionally, the priorities are deduced from the task type at compile-time as well. Furthermore, the aforementioned task engine supports inter-node communication via message passing. The provided communication interface drastically simplifies the user interface of inter-node communication without introducing additional performance penalties. This is only possible by distinguishing two developer roles -- the library developer and the algorithm developer. All proposed components follow a strict guideline to increase the maintainability for library developers and the usability for algorithm developers. To reach this goal a high level of abstraction and encapsulation is required in the software stack. As proof of concept the communication-enabled task engine is utilized to parallelize the FMM for molecular dynamics.
- Freie Schlagwörter (EN)
- C++, Parallelization, HPC, Task-Engine, MPI
- Klassifikation (DDC)
- 004
- Klassifikation (RVK)
- ST 232
- Den akademischen Grad verleihende / prüfende Institution
- Technische Universität Dresden, Dresden
- Sonstige beteiligte Institution
- Forschungszentrum Jülich, Jülich
- URN Qucosa
- urn:nbn:de:bsz:14-qucosa2-314122
- Veröffentlichungsdatum Qucosa
- 31.08.2018
- Dokumenttyp
- Dissertation
- Sprache des Dokumentes
- Englisch
- Lizenz / Rechtehinweis