Lock elision for protected objects using intel transactional synchronization extensions

Seongho Jeong, Shinhyung Yang, bernd Burgstaller

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Lock elision is a technique to replace coarse-grained locks by optimistic concurrent execution. In this paper, we introduce lock elision for protected objects (POs) in Ada. We employ Intel Transactional Synchronization Extensions (TSX) as the underlying hardware transactional memory facility. With TSX, a processor can detect dynamically whether tasks need to serialize through critical sections protected by locks. We adapt the GNU Ada run-time library (GNARL) to elide locks transparently from protected functions and procedures. We critically evaluate opportunities and difficulties of lock elision with protected entries. We demonstrate that lock elision can achieve significant performance improvements for a selection of three synthetic and one real-world benchmark. We show the scalability of our approach for up to 44 cores of a two-CPU, 44-core Intel E5-2699 v4 system.

Original languageEnglish
Title of host publicationReliable Software Technologies - Ada-Europe 2017 - 22nd Ada-Europe International Conference on Reliable Software Technologies, Proceedings
EditorsMarkus Bader, Johann Blieberger
PublisherSpringer Verlag
Pages121-136
Number of pages16
ISBN (Print)9783319605876
DOIs
Publication statusPublished - 2017 Jan 1
Event22nd International Conference on Reliable Software Technologies, Ada-Europe 2017 - Vienna, Austria
Duration: 2017 Jun 122017 Jun 16

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume10300 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other22nd International Conference on Reliable Software Technologies, Ada-Europe 2017
CountryAustria
CityVienna
Period17/6/1217/6/16

Fingerprint

Synchronization
Transactional Memory
Computer hardware
Program processors
Scalability
Concurrent
Hardware
Benchmark
Data storage equipment
Evaluate
Demonstrate
Object
Libraries

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • Computer Science(all)

Cite this

Jeong, S., Yang, S., & Burgstaller, B. (2017). Lock elision for protected objects using intel transactional synchronization extensions. In M. Bader, & J. Blieberger (Eds.), Reliable Software Technologies - Ada-Europe 2017 - 22nd Ada-Europe International Conference on Reliable Software Technologies, Proceedings (pp. 121-136). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 10300 LNCS). Springer Verlag. https://doi.org/10.1007/978-3-319-60588-3_8
Jeong, Seongho ; Yang, Shinhyung ; Burgstaller, bernd. / Lock elision for protected objects using intel transactional synchronization extensions. Reliable Software Technologies - Ada-Europe 2017 - 22nd Ada-Europe International Conference on Reliable Software Technologies, Proceedings. editor / Markus Bader ; Johann Blieberger. Springer Verlag, 2017. pp. 121-136 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)).
@inproceedings{1804841078534100bf52ed189d34e6c3,
title = "Lock elision for protected objects using intel transactional synchronization extensions",
abstract = "Lock elision is a technique to replace coarse-grained locks by optimistic concurrent execution. In this paper, we introduce lock elision for protected objects (POs) in Ada. We employ Intel Transactional Synchronization Extensions (TSX) as the underlying hardware transactional memory facility. With TSX, a processor can detect dynamically whether tasks need to serialize through critical sections protected by locks. We adapt the GNU Ada run-time library (GNARL) to elide locks transparently from protected functions and procedures. We critically evaluate opportunities and difficulties of lock elision with protected entries. We demonstrate that lock elision can achieve significant performance improvements for a selection of three synthetic and one real-world benchmark. We show the scalability of our approach for up to 44 cores of a two-CPU, 44-core Intel E5-2699 v4 system.",
author = "Seongho Jeong and Shinhyung Yang and bernd Burgstaller",
year = "2017",
month = "1",
day = "1",
doi = "10.1007/978-3-319-60588-3_8",
language = "English",
isbn = "9783319605876",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Verlag",
pages = "121--136",
editor = "Markus Bader and Johann Blieberger",
booktitle = "Reliable Software Technologies - Ada-Europe 2017 - 22nd Ada-Europe International Conference on Reliable Software Technologies, Proceedings",
address = "Germany",

}

Jeong, S, Yang, S & Burgstaller, B 2017, Lock elision for protected objects using intel transactional synchronization extensions. in M Bader & J Blieberger (eds), Reliable Software Technologies - Ada-Europe 2017 - 22nd Ada-Europe International Conference on Reliable Software Technologies, Proceedings. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 10300 LNCS, Springer Verlag, pp. 121-136, 22nd International Conference on Reliable Software Technologies, Ada-Europe 2017, Vienna, Austria, 17/6/12. https://doi.org/10.1007/978-3-319-60588-3_8

Lock elision for protected objects using intel transactional synchronization extensions. / Jeong, Seongho; Yang, Shinhyung; Burgstaller, bernd.

Reliable Software Technologies - Ada-Europe 2017 - 22nd Ada-Europe International Conference on Reliable Software Technologies, Proceedings. ed. / Markus Bader; Johann Blieberger. Springer Verlag, 2017. p. 121-136 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 10300 LNCS).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - Lock elision for protected objects using intel transactional synchronization extensions

AU - Jeong, Seongho

AU - Yang, Shinhyung

AU - Burgstaller, bernd

PY - 2017/1/1

Y1 - 2017/1/1

N2 - Lock elision is a technique to replace coarse-grained locks by optimistic concurrent execution. In this paper, we introduce lock elision for protected objects (POs) in Ada. We employ Intel Transactional Synchronization Extensions (TSX) as the underlying hardware transactional memory facility. With TSX, a processor can detect dynamically whether tasks need to serialize through critical sections protected by locks. We adapt the GNU Ada run-time library (GNARL) to elide locks transparently from protected functions and procedures. We critically evaluate opportunities and difficulties of lock elision with protected entries. We demonstrate that lock elision can achieve significant performance improvements for a selection of three synthetic and one real-world benchmark. We show the scalability of our approach for up to 44 cores of a two-CPU, 44-core Intel E5-2699 v4 system.

AB - Lock elision is a technique to replace coarse-grained locks by optimistic concurrent execution. In this paper, we introduce lock elision for protected objects (POs) in Ada. We employ Intel Transactional Synchronization Extensions (TSX) as the underlying hardware transactional memory facility. With TSX, a processor can detect dynamically whether tasks need to serialize through critical sections protected by locks. We adapt the GNU Ada run-time library (GNARL) to elide locks transparently from protected functions and procedures. We critically evaluate opportunities and difficulties of lock elision with protected entries. We demonstrate that lock elision can achieve significant performance improvements for a selection of three synthetic and one real-world benchmark. We show the scalability of our approach for up to 44 cores of a two-CPU, 44-core Intel E5-2699 v4 system.

UR - http://www.scopus.com/inward/record.url?scp=85020393054&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85020393054&partnerID=8YFLogxK

U2 - 10.1007/978-3-319-60588-3_8

DO - 10.1007/978-3-319-60588-3_8

M3 - Conference contribution

AN - SCOPUS:85020393054

SN - 9783319605876

T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

SP - 121

EP - 136

BT - Reliable Software Technologies - Ada-Europe 2017 - 22nd Ada-Europe International Conference on Reliable Software Technologies, Proceedings

A2 - Bader, Markus

A2 - Blieberger, Johann

PB - Springer Verlag

ER -

Jeong S, Yang S, Burgstaller B. Lock elision for protected objects using intel transactional synchronization extensions. In Bader M, Blieberger J, editors, Reliable Software Technologies - Ada-Europe 2017 - 22nd Ada-Europe International Conference on Reliable Software Technologies, Proceedings. Springer Verlag. 2017. p. 121-136. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)). https://doi.org/10.1007/978-3-319-60588-3_8