A formal semantics of nested atomic sections with thread escape. (July 2015)
- Record Type:
- Journal Article
- Title:
- A formal semantics of nested atomic sections with thread escape. (July 2015)
- Main Title:
- A formal semantics of nested atomic sections with thread escape
- Authors:
- Dabrowski, Frédéric
Loulergue, Frédéric
Pinsard, Thomas - Abstract:
- Abstract: The multi-core trend is widening the gap between programming languages and hardware. Taking parallelism into account in the programs is necessary to improve performance. Unfortunately, current mainstream programming languages fail to provide suitable abstractions to do so. The most common pattern relies on the use of mutexes to ensure mutual exclusion between concurrent accesses to a shared memory. However, this model is error-prone and scales poorly by lack of modularity. Recent research proposes atomic sections as an alternative. The user simply delimits portions of code that should be free from interference. The responsibility for ensuring interference freedom is left either to the compiler or to the run-time system. In order to provide enough modularity, it is necessary that both atomic sections could be nested and threads could be forked inside an atomic section. In this paper we focus on the semantics of programming languages providing these features. More precisely, without being tied to a specific programming language, we consider program traces satisfying some basic well-formedness conditions. Our main contribution is the precise definition of atomicity, well-synchronisation and the proof that the latter implies the strong form of the former. A formalisation of our results in theCoq proof assistant is described. Abstract : Highlights: Semantics of languages with nested atomic sections and thread escape. A precise definition of atomicity andAbstract: The multi-core trend is widening the gap between programming languages and hardware. Taking parallelism into account in the programs is necessary to improve performance. Unfortunately, current mainstream programming languages fail to provide suitable abstractions to do so. The most common pattern relies on the use of mutexes to ensure mutual exclusion between concurrent accesses to a shared memory. However, this model is error-prone and scales poorly by lack of modularity. Recent research proposes atomic sections as an alternative. The user simply delimits portions of code that should be free from interference. The responsibility for ensuring interference freedom is left either to the compiler or to the run-time system. In order to provide enough modularity, it is necessary that both atomic sections could be nested and threads could be forked inside an atomic section. In this paper we focus on the semantics of programming languages providing these features. More precisely, without being tied to a specific programming language, we consider program traces satisfying some basic well-formedness conditions. Our main contribution is the precise definition of atomicity, well-synchronisation and the proof that the latter implies the strong form of the former. A formalisation of our results in theCoq proof assistant is described. Abstract : Highlights: Semantics of languages with nested atomic sections and thread escape. A precise definition of atomicity and well-synchronisation on program traces. A mechanised proof that well-synchonisation implies strong atomicity. … (more)
- Is Part Of:
- Computer languages, systems & structures. Volume 42(2015)
- Journal:
- Computer languages, systems & structures
- Issue:
- Volume 42(2015)
- Issue Display:
- Volume 42, Issue 2015 (2015)
- Year:
- 2015
- Volume:
- 42
- Issue:
- 2015
- Issue Sort Value:
- 2015-0042-2015-0000
- Page Start:
- 2
- Page End:
- 21
- Publication Date:
- 2015-07
- Subjects:
- Atomic sections -- Well-synchronisation -- Atomicity -- Program traces -- Formal semantics -- Proof assistant
Programming languages (Electronic computers) -- Periodicals
Computer networks -- Periodicals
Computer architecture -- Periodicals
Computer systems -- Periodicals
Langage de programmation
Réseau d'ordinateurs
Architecture d'ordinateur
Périodique électronique (Descripteur de forme)
Ressource Internet (Descripteur de forme)
005.13 - Journal URLs:
- http://www.sciencedirect.com/science/journal/14778424/40 ↗
http://www.elsevier.com/journals ↗ - DOI:
- 10.1016/j.cl.2015.04.001 ↗
- Languages:
- English
- ISSNs:
- 1477-8424
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 3394.071000
British Library DSC - BLDSS-3PM
British Library STI - ELD Digital store - Ingest File:
- 6583.xml