eprintid: 22498 rev_number: 22 eprint_status: archive userid: 2932 dir: disk0/00/02/24/98 datestamp: 2017-01-20 12:19:34 lastmod: 2017-02-13 12:25:18 status_changed: 2017-01-20 12:19:34 type: doctoralThesis metadata_visibility: show creators_name: Razmyslovich, Dzmitry title: Astrophysical-oriented Computational multi-Architectural Framework title_de: Astrophysikalisch-orientierte Mehrarchitektonische Rechenframework subjects: 004 divisions: 110001 divisions: 720000 adv_faculty: af-11 keywords: GPGPU cterms_swd: Astrophysics cterms_swd: Heterogeneous cterms_swd: Framework cterms_swd: Cluster cterms_swd: GPU abstract: This work presents the framework for simplifying software development in the astrophysical simulations branch - Astrophysical-oriented Computational multi-Architectural Framework (ACAF). The astrophysical simulation problems are usually approximated with the particle systems for computational purposes. The number of particles in such approximations reaches several millions, which enforces the usage of the computer clusters for the simulations. Meanwhile, the computational extensiveness of these approximations makes it reasonable to utilize the heterogeneous clusters, using Graphics Processing Units (GPUs) and Field-Programmable Gate Arrays (FPGAs) as accelerators. At the same time, developing the programs for running on heterogeneous clusters is a complicated task requiring certain expertise in network programming and parallel programming. The ACAF aims to simplify heterogeneous clusters programming by providing the user with the set of objects and functions covering some aspects of application developing. The ACAF targets the data-parallel problems and focuses on the problems approximated with particle systems. The ACAF is designed as a C++ framework and is based on the hierarchy of the components, which are responsible for the different aspects of the heterogeneous cluster programming. Extending the hierarchy with new components provides the possibility to utilize the framework for other problems, other hardware, other distribution schemes and other computational methods. Being designed as a C++ framework, the ACAF keeps open the possibility to use the existing libraries and codes. The usage example demonstrates the concept of separating the different programming aspects between the different parts of the source code. The benchmarking results reveal the execution time overhead of the program written using the framework being just 1.6% for small particle systems and approaching 0% for larger particle systems (in comparison to the bare simulation code). At the same time, the execution with different cluster configurations shows that the program performance scales almost according to the number of cluster nodes in use. These results prove the efficiency and usability of the framework implementation. abstract_translated_text: In dieser Arbeit wird das Framework (das Programmiergerüst) für die Vereinfachung der Softwareentwicklung im Bereich der astrophysikalischen Simulationen { Astrophysikalisch-orientierte Mehrarchitektonische Rechenframework (Astrophysical-oriented Computational multi-Architectural Framework (ACAF)) vorgestellt. Die astrophysikalischen Simulationen sind normalerweise für Rechenzwecke mit den Partikelsystemen angenähert. Die Partikelanzahl bei solchen Näherungen erreicht mehrere Millionen. Dies erzwingt die Nutzung der Computercluster für die Simulationen. Wegen der Rechendichte der genäherten Simulationen werden die heterogenen Cluster mit Field Programmable Gate Arrays (FPGAs) und/oder Grafikkarten (GPUs) sehr häufig zur Beschleunigung benutzt. Die Softwareentwicklung für die heterogenen Cluster ist eine komplizierte Aufgabe, sie benötigt bestimmte Kompetenzen in der Netzwerkprogrammierung und der Parallelprogrammierung. Das ACAF ist bestrebt, die notwendigen Programmierungsanforderungen für die heterogenen Cluster zu erleichtern. Dafür bietet das ACAF für den Benutzer einen Satz von Objekten und Funktionen an, die damit einige Sofrwareentwicklungsaspekte abdecken. Das ACAF ist auf Parallel-Daten-Probleme ausgerichtet und zielt auf die astrophysikalischen Simulationen, angenähert durch die Partikelsysteme. Der ACAF ist entworfen als ein C++ Framework und basiert auf der Komponentenhierarchie. Diese ist verantwortlich für die verschiedenen Programmierungsaspekte für heterogene Cluster. Eine Erweiterung dieser Hierarchie mit neuen Komponenten bietet die Möglichkeit, das Framework für andere Probleme, andere Systemteile, andere Aufteilungsschemen und andere Rechenmethoden einzusetzen. Indem es als ein C++ Framework entworfen ist, gewährt das ACAF die Möglichkeit, existierende Bibliotheken und Codes zu nutzen. Das ACAF Anwendungsbeispiel demonstriert das Trennungskonzept von verschiedenen Programmierungsaspekten zwischen verschiedenen Teilen des Quellcode. Das Benchmarking-Ergebnis zeigt, dass der Zeitzuschlag des ACAF-nutzenden Programms nur 1.6% für kleine Partikelsysteme ist und er nähert sich 0% für größere Partikelsysteme(im Vergleich zum nackten Simulationscode). Die Ausführungszeit bei verschiedenen Cluster-Konfigurationen demonstriert, dass die Programmleistung fast entsprechend der Cluster-Knoten-Anzahl skaliert. Dies weist die Effizienz und die Brauchbarkeit der Framework-Implementierung nach. abstract_translated_lang: ger date: 2017 id_scheme: DOI id_number: 10.11588/heidok.00022498 ppn_swb: 1655907581 own_urn: urn:nbn:de:bsz:16-heidok-224984 date_accepted: 2017-01-16 advisor: HASH(0x5561209fedf0) language: eng bibsort: RAZMYSLOVIASTROPHYSI2017 full_text_status: public citation: Razmyslovich, Dzmitry (2017) Astrophysical-oriented Computational multi-Architectural Framework. [Dissertation] document_url: https://archiv.ub.uni-heidelberg.de/volltextserver/22498/1/Razmyslovich2016.pdf