URN zum Zitieren der Version auf EPub Bayreuth: urn:nbn:de:bvb:703-epub-6047-3
Titelangaben
Brunner, Christopher:
Erweiterung eines channelbasierten Task-Laufzeitsystems um eine OpenMP-Nutzerschnittstelle.
Bayreuth
,
2022
. - v, 64 S.
- (Bayreuth Reports on Parallel and Distributed Systems
; 16
)
(
Bachelorarbeit,
2022
, Universität Bayreuth, Fakultät für Mathematik, Physik und Informatik)
Volltext
|
|||||||||
Download (1MB)
|
Abstract
In der Prozessorentwicklung der letzten 15 Jahre konnte Fortschritt aufgrund von physikalischen Limitierungen nicht mehr weiter durch ein stetiges Erhöhen der Taktrate erzielt werden. Stattdessen wurden weitere Leistungsverbesserungen vor allem durch eine größere Anzahl von Rechenkernen auf dem Prozessorchip erreicht. Damit ein einzelnes Programm von diesem Trend profitieren kann, teilt man seine auszuführenden Instruktionen in Tasks ein. Diese werden von einem Laufzeitsystem anschließend Threads zugeordnet, welche parallel auf den verschiedenen Prozessorkernen arbeiten. Die Aufgabe eines solchen System besteht dabei in einer möglichst performanten Aufteilung der Tasks auf die Threads, sodass die vorhandenen Rechenressourcen bestmöglich ausgenutzt werden. Ein entsprechendes Task-Laufzeitsystem Tasking 2.0 von A. Prell nutzt zur Verteilung sogenanntes Work-Stealing, bei welchem unbeschäftigte Threads die Tasks anderer Threads stehlen. Die Kommunikation zwischen den Threads geschieht dabei ausschließlich über Kommunikationskanäle (Channels), welche flexibel an die jeweils zugrunde liegende Architektur des Zielsystems angepasst werden können. Die zur Verwendung des Laufzeitsystems bereitgestellte projekteigene Schnittstelle definiert C-Makros und erfordert ein manuelles Auslagern von Task-Anweisungssequenzen in Funktionen. Weitere Laufzeitsysteme, die ebenso ein Modell zur Parallelisierung auf gemeinsamen Speicher bieten, setzten stattdessen auf die weit verbreitete Programmierschnittstelle OpenMP, welche sich durch Compiler-Anweisungen anwenderfreundlich nutzen lässt. Im Rahmen dieser Arbeit wird deshalb die OpenMP-Nutzerschnittstelle partiell für das Task-Laufzeitsystem von A. Prell implementiert. Ein spezieller Fokus liegt dabei auf der Realisierung der grundlegenden Schnittstellenfunktionen zur Verwendung von Tasks, parallel ausführbaren Regionen sowie For-Schleifen, welche die Funktionalitäten des Laufzeitsystems abbilden. Das auf diese Weise erweiterte Laufzeitsystem vereint dadurch die Implementierungsbesonderheiten des Tasking 2.0 mit der einfachen Anwendbarkeit einer OpenMP-Nutzerschnittstelle.
Abstract in weiterer Sprache
In the development of processors over the past 15 years, progress could no longer achieved by constantly increasing the clock speed due to physical limitations. Instead, further performance improvements have primarily been obtained by increasing the number of processing cores on the processor chip. For a single program to benefit from this trend, its instructions must be divided into tasks. These are then assigned to threads by a runtime system, which operate in parallel on the various processor cores. The purpose of such a system is to distribute the tasks to the threadsefficiently as possible, so that the available computing resources are utilised in the best possible way. A corresponding task runtime system Tasking 2.0 by A. Prell uses so-called Work-Stealing for distribution, in which idle threads steal the tasks of other threads. The communication between the threads takes place exclusively via Channels, which can be adapted flexibly to the underlying architecture of the target system. The project-specific interface provided for using the runtime system defines C macros and requires manual swapping of a tasks statement-sequence into functions. Other runtime systems, which also provide a shared memory programming model for parallelisation, instead rely on the widely used programming interface OpenMP, which can be used in a user-friendly way through compiler instructions. In the context of this thesis, the OpenMP user interface is therefore partially implemented for A. Prell’s task runtime system. A special focus is put on the realization of the fundamental interface features for the use of tasks, parallel executable regions as well as for-loops, which represent the functionalities of the runtime system. The result is an extended runtime system that combines the special implementation properties of Tasking 2.0 with the simple applicability of an OpenMP user interface.
Weitere Angaben
Publikationsform: | Bachelorarbeit |
---|---|
Keywords: | Paralleles Rechnen; OpenMP; Tasks; Laufzeitsystem; Channel |
Themengebiete aus DDC: | 000 Informatik,Informationswissenschaft, allgemeine Werke > 004 Informatik |
Institutionen der Universität: | Fakultäten Fakultäten > Fakultät für Mathematik, Physik und Informatik Fakultäten > Fakultät für Mathematik, Physik und Informatik > Institut für Informatik Fakultäten > Fakultät für Mathematik, Physik und Informatik > Institut für Informatik > Lehrstuhl Angewandte Informatik II Fakultäten > Fakultät für Mathematik, Physik und Informatik > Institut für Informatik > Lehrstuhl Angewandte Informatik II > Lehrstuhl Angewandte Informatik II - Univ.-Prof. Dr. Thomas Rauber |
Sprache: | Deutsch |
Titel an der UBT entstanden: | Ja |
URN: | urn:nbn:de:bvb:703-epub-6047-3 |
Eingestellt am: | 05 Apr 2022 06:39 |
Letzte Änderung: | 05 Apr 2022 06:39 |
URI: | https://epub.uni-bayreuth.de/id/eprint/6047 |