Cookies helfen uns bei der Bereitstellung unserer Dienste. Durch die Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies setzen.

Cuvillier Verlag

30 Jahre Kompetenz im wissenschaftlichen Publizieren
Internationaler Fachverlag für Wissenschaft und Wirtschaft

Cuvillier Verlag

De En Es
Compiler and Runtime Techniques to Identify and Optimize Atomic Blocks in Parallel Programs

Printausgabe
EUR 0,00

E-Book
EUR 0,00

Compiler and Runtime Techniques to Identify and Optimize Atomic Blocks in Parallel Programs

Stefan Kempf (Autor)

Vorschau

Inhaltsverzeichnis, PDF (55 KB)
Leseprobe, PDF (150 KB)

ISBN-13 (Printausgabe) 9783954048403
ISBN-13 (E-Book) 9783736948402
Sprache Deutsch
Seitenanzahl 184
Umschlagkaschierung matt
Auflage 1. Aufl.
Erscheinungsort Göttingen
Promotionsort Erlangen-Nürnberg
Erscheinungsdatum 03.11.2014
Allgemeine Einordnung Dissertation
Fachbereiche Informatik
Schlagwörter Atomic Blocks, Multicore, Software Transactional Memory, Lock Inference
Beschreibung

Atomic blocks are a programming language construct that marks sections of code that multiple threads may not execute concurrently. The implementation of the mutual exclusion is left to the compiler or the runtime system. To avoid race conditions however, developers are still responsible to detect all places in the code where atomic blocks are needed. It is of course also important that mutual exclusion is implemented efficiently.

This thesis therefore pursues two goals. First, we develop a data dependence analysis that identifies potential critical sections in a parallel program, presents them to the programmer, and then adds atomic blocks to the code. Second, we enhance existing techniques – software transactional memory (STM) and lock inference – to implement atomic blocks. Our approach combines the advantages of STM and lock inference, which allows atomic blocks to be implemented more efficiently.

The evaluation shows that our approach identifies atomic blocks that closely match those atomic blocks that an expert would add to the code. Compared to a pure STM or lock inference implementation, our combined approach to implement atomic blocks speeds up execution times by a factor between 1.1 and 6.3.