Detailansicht
Efficient execution of high performance computing applications on asymmetric heterogeneous hardware architectures
Valon Raca
Art der Arbeit
Dissertation
Universität
Universität Wien
Fakultät
Fakultät für Informatik
Studiumsbezeichnung bzw. Universitätlehrgang (ULG)
Dr.-Studium der technischen Wissenschaften (Dissertationsgebiet: Informatik)
Betreuer*in
Eduard Mehofer
DOI
10.25365/thesis.59157
URN
urn:nbn:at:at-ubw:1-28220.55872.822688-1
Link zu u:search
(Print-Exemplar eventuell in Bibliothek verfügbar)
Abstracts
Abstract
(Deutsch)
Heterogene Systeme sind heutzutage im Bereich High Performance Computing (HPC) weit verbreitet. Heterogene Computing Devices wie Grafikprozessoren (GPU), x86 Manycore-Prozessoren (Xeon Phi), Accelerated Processing Units (APU), rekonfigurierbare Recheneinheiten (FPGA) und andere Arten von spezialisierten Co-Prozessoren haben sich für Parallelrechner und unterschiedliche daten-parallele Anwendungen als leistungsfähiger oder energieeffizienter erwiesen als CPUs. Meist sind diese Computing Devices nicht gleichmäßig über die Clusterknoten verteilt, wodurch asymmetrische Clusterkonfigurationen entstehen - vor allem in kleineren Computer-Labs.
Die Programmierung heterogener Cluster ist eine große Herausforderung. Die Verbreitung von OpenCL für heterogenes Computing hat das Problem der Portierung von Anwendungen auf verschiedene heterogene Devices erleichtert. Aber OpenCL allein reicht nicht. Zusätzlich müssen parallele und nebenläufige Programmierparadigmen in Verbindung mit OpenCL angewendet werden, um eine effiziente Verteilung der Arbeit auf die Clusterknoten zu erreichen. Weiters müssen unterschiedliche Charakteristiken bezüglich Ausführungszeit und Energieverbrauch der einzelnen Computing Devices berücksichtigt werden, um Leistungs- und Energieeffizienz-Anforderungen gerecht zu werden.
Ziel dieser Arbeit ist es, heterogenes Rechnen in Clustersystemen zu erleichtern und ein Framework anzubieten, das Partitionierung und Verteilung paralleler Anwendungen auf Clusterknoten unterstützt und durch Steuerung des Ausführungsprozesses bessere Laufzeit bei gleichzeitig niedrigerem Energieverbrauch erreicht.
Die Ergebnisse dieser Arbeit sind insbesondere:
1. ein Workload Partitioning Ansatz, der die Anwendungen in mittlere, gleichgroße Arbeitspakete unterteilt und eine effiziente Verteilung in heterogenen, asymmetrischen Clustern ermöglicht, wobei gleichzeitig eine einfachere Handhabung von Geräteausfällen und Performanz erreicht wird,
2. ein heterogenes Cluster Computing Framework - clusterCL - das unseren Partitionierungsansatz unterstützt, indem es eine Abstraktionsschicht zur Verfügung stellt, um die Details der Programmierung asymmetrischer, heterogener Cluster zu verbergen,
3. ein Set optimaler Algorithmen für die Arbeitsaufteilung, die Ausführungszeit und Energieverbrauch in einem Zeit-Energie-Lösungsraum berücksichtigen und den Ausführungsprozess Richtung Laufzeit, Energieeffizienz oder einem Kompromiss zwischen beiden leiten,
4. Auswertung der Validität und Effizienz unseres Ansatzes auf der Grundlage von Experimenten mit elf HPC-Anwendungen und zwei synthetischen Benchmarks aus verschiedenen wissenschaftlichen Bereichen und Benchmark-Suiten getestet auf drei mittleren, unterschiedlichen und asymmetrischen Clustersystemen mit heterogenen Computing Devices.
Abstract
(Englisch)
Heterogeneous systems are ubiquitous nowadays in the field of High Performance Computing (HPC). Heterogeneous devices suitable for parallel computing such as graphical processing units (GPU), x86 any core processors (Xeon Phi), accelerated processing units (APU), reconfigurable computing units (FPGA) and other types of specialized co-processors have been shown to be better performing or more energy efficient than CPUs for many types of data parallel applications. Usually, these devices are unevenly distributed over cluster nodes leading to asymmetric cluster configurations - especially in computational labs.
Programming heterogeneous clusters is a major challenge. Emergence of the OpenCL standard for heterogeneous computing has alleviated the problem of porting applications to different heterogeneous devices. But, OpenCL alone is not sufficient. Other parallel and concurrent programming paradigms have to be used in conjunction with OpenCL in order to enable efficient distribution of work over cluster nodes. Moreover, different behavior of the individual compute devices with respect to execution time and energy consumption has to be taken into account in order to meet the demands of the user for higher performance and energy-efficient computing.
The aim of this thesis is to deal with the problem of heterogeneous computing in cluster systems by providing a framework which supports partitioning and distribution of parallel programs into cluster nodes and by guiding the execution process to achieve better performance while lowering energy consumption. In particular, the results of this thesis are:
1. A Workload Partitioning Approach which partitions the applications into medium-grain same-size work chunks and enables efficient distribution of work in heterogeneous asymmetric clusters while ensuring easier handling of device failures and poor performance,
2. A Heterogeneous Cluster Computing Framework - clusterCL - which supports our partitioning approach by providing an abstraction layer to the programmer and hiding the intricacies of programming asymmetric heterogeneous clusters,
3. A Set of Optimal Algorithms for Work Distribution that take into account execution time and energy consumption in a Time-Energy solution space and steer the execution process towards high performance, energy-efficiency or reasonable trade-offs between execution time and energy consumption,
4. Evaluation of the Validity and Efficiency of our Approach based on experiments with eleven HPC applications and two synthetic parallel programs from different scientific domains and benchmarks which are executed in three different mid-size asymmetric cluster systems with numerous heterogeneous devices of different types.
Schlagwörter
Schlagwörter
(Englisch)
heterogeneous computing energy-efficient computing parallel computing workload partitioning and distribution
Schlagwörter
(Deutsch)
Heterogenes Computing Energieeffizientes Computing Parallel Computing Workload Partitioning und Arbeitsaufteilung
Autor*innen
Valon Raca
Haupttitel (Englisch)
Efficient execution of high performance computing applications on asymmetric heterogeneous hardware architectures
Paralleltitel (Deutsch)
Effiziente Ausführung von High Performance Computing Applikationen auf asymmetrische heterogene Hardwarearchitekturen
Publikationsjahr
2019
Umfangsangabe
XX, 156 Seiten : Illustrationen, Diagramme
Sprache
Englisch
Beurteiler*innen
Jens Knoop ,
Beniamino Di Martino
AC Nummer
AC15688877
Utheses ID
52233
Studienkennzahl
UA | 786 | 880 | |
