Title (eng)
HybChive - experimental programming framework for heterogeneous architectures
Parallel title (deu)
HybChive - experimentelles Programmierframework für heterogene Architekturen
Author
Jan Clemens Stoffregen
Advisor
Siegfried Benker
Assessor
Siegfried Benker
Abstract (deu)
High Performance Architekturen werden immer heterogener. Der Benutzer einer solchen Architektur muss verschiedene Programmiersprachen beherrschen, um alle Computing - Devices parallel nutzen zu können. Oft werden spezialisierte Programmierer beauftragt, Routinen für Teile der Architektur zu entwickeln. Die Thesis gibt zunächst einen kurzen Überblick über Technologien, die sich mit der Programmierbarkeit heterogener Architekturen beschäftigen. Anschließend werden die Anforderungen eines ganzheitlichen Workflows und einer ganzheitlichen Softwarearchitektur definiert, mit deren Hilfe die Software von einem Spezialisten für einen Endanwender entwickelt wird und die ebenfalls stetig für hinzukommende Hardware in einer heterogenen Software - Architektur ergänzt werden kann. Das im Zuge einer experimentellen Herangehensweise entwickelte Framework zielt darauf ab, Teile des Codes, die "embarassingly parallel" sind, anhand individuell gewählter Parameter zu optimieren, zum Beispiel den Datendurchsatz eines Codeteiles. Architekturen, für die das Framework entwickelt wird, bestehen aus einem Single Node mit angehängten Devices, die durch das Framework Daten in Shared Memory Segments gleichzeitig verarbeiten. Darüber hinaus werden Aspekte und Erweiterungen der Softwarearchitektur beschrieben, die ermöglichen, wichtigen Bedürfnissen der beteiligten Akteure in einer solchen Umgebung gerecht zu werden. Akteure sind hier beispielsweise der Endanwender und der Betreuer der Architektur. Mit Hilfe von Experimenten wird die Funktionalität von HybChive demonstriert und mögliche limitierende Aspekte und zukünftige Perspektiven diskutiert. Im Zuge der Arbeit wird ein Prototyp des HybChive - Frameworks entwickelt.
Abstract (eng)
High performance architectures become more and more heterogeneous. A user of this architecture has to know different programming languages to use all devices in parallel. Often specialised programmers are asked to develop routines for parts of the architecture. This thesis provides a brief overview at first of technologies that address the programmability of heterogeneous architectures. Afterwards, this thesis defines needs of a holistic workflow and of a holistic software architecture with the help of which software is developed by a specialist for an end user which can be steadily extended for additional hardware in a heterogeneous high performance computing architecture. As an experimental software approach, the developed framework aims at optimising embarrassingly parallel parts of the code referring to individually chosen parameters, for example the throughput of the code. Targeted architectures consist of a single node and attached devices which, by using the framework, process data stored in shared memory segments in parallel. Furthermore, software architectural aspects and extensions will be discovered and described which satisfy major needs of the participating stakeholders in such an environment, such as the user of the code as well as the maintainer of the architecture. With the help of experiments the functionality of HybChive will be demonstrated and possible limiting aspects and future directions will be discussed. The thesis will develop a prototype of the HybChive – framework.
Keywords (eng)
Heterogeneous ArchitecturesShared Memory Segments´/ Component TuningCompute-Bound AlgorithmsPortabilityCollaborative Framework
Keywords (deu)
Heterogene ArchitekturenShared Memory SegmentsComponent TuningCompute-Bound AlgorithmsPortabilityCollaborative Framework
Subject (deu)
Type (deu)
Extent (deu)
86 Seiten : Illustrationen, Diagramme
Number of pages
87
Study plan
Masterstudium Scientific Computing
[UA]
[066]
[940]
Association (deu)
Members (1)
Title (eng)
HybChive - experimental programming framework for heterogeneous architectures
Parallel title (deu)
HybChive - experimentelles Programmierframework für heterogene Architekturen
Author
Jan Clemens Stoffregen
Abstract (deu)
High Performance Architekturen werden immer heterogener. Der Benutzer einer solchen Architektur muss verschiedene Programmiersprachen beherrschen, um alle Computing - Devices parallel nutzen zu können. Oft werden spezialisierte Programmierer beauftragt, Routinen für Teile der Architektur zu entwickeln. Die Thesis gibt zunächst einen kurzen Überblick über Technologien, die sich mit der Programmierbarkeit heterogener Architekturen beschäftigen. Anschließend werden die Anforderungen eines ganzheitlichen Workflows und einer ganzheitlichen Softwarearchitektur definiert, mit deren Hilfe die Software von einem Spezialisten für einen Endanwender entwickelt wird und die ebenfalls stetig für hinzukommende Hardware in einer heterogenen Software - Architektur ergänzt werden kann. Das im Zuge einer experimentellen Herangehensweise entwickelte Framework zielt darauf ab, Teile des Codes, die "embarassingly parallel" sind, anhand individuell gewählter Parameter zu optimieren, zum Beispiel den Datendurchsatz eines Codeteiles. Architekturen, für die das Framework entwickelt wird, bestehen aus einem Single Node mit angehängten Devices, die durch das Framework Daten in Shared Memory Segments gleichzeitig verarbeiten. Darüber hinaus werden Aspekte und Erweiterungen der Softwarearchitektur beschrieben, die ermöglichen, wichtigen Bedürfnissen der beteiligten Akteure in einer solchen Umgebung gerecht zu werden. Akteure sind hier beispielsweise der Endanwender und der Betreuer der Architektur. Mit Hilfe von Experimenten wird die Funktionalität von HybChive demonstriert und mögliche limitierende Aspekte und zukünftige Perspektiven diskutiert. Im Zuge der Arbeit wird ein Prototyp des HybChive - Frameworks entwickelt.
Abstract (eng)
High performance architectures become more and more heterogeneous. A user of this architecture has to know different programming languages to use all devices in parallel. Often specialised programmers are asked to develop routines for parts of the architecture. This thesis provides a brief overview at first of technologies that address the programmability of heterogeneous architectures. Afterwards, this thesis defines needs of a holistic workflow and of a holistic software architecture with the help of which software is developed by a specialist for an end user which can be steadily extended for additional hardware in a heterogeneous high performance computing architecture. As an experimental software approach, the developed framework aims at optimising embarrassingly parallel parts of the code referring to individually chosen parameters, for example the throughput of the code. Targeted architectures consist of a single node and attached devices which, by using the framework, process data stored in shared memory segments in parallel. Furthermore, software architectural aspects and extensions will be discovered and described which satisfy major needs of the participating stakeholders in such an environment, such as the user of the code as well as the maintainer of the architecture. With the help of experiments the functionality of HybChive will be demonstrated and possible limiting aspects and future directions will be discussed. The thesis will develop a prototype of the HybChive – framework.
Keywords (eng)
Heterogeneous ArchitecturesShared Memory Segments´/ Component TuningCompute-Bound AlgorithmsPortabilityCollaborative Framework
Keywords (deu)
Heterogene ArchitekturenShared Memory SegmentsComponent TuningCompute-Bound AlgorithmsPortabilityCollaborative Framework
Subject (deu)
Type (deu)
Number of pages
87
Association (deu)