Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. MIT Open Access Articles
  3. MIT Open Access Articles
  4. Amalgamated Lock-Elision

Amalgamated Lock-Elision

Thumbnail Image
Download
Name

ALE_DISC15_paper.pdf

Description
Accepted version
Size

953.28 KB

Format

Adobe PDF

Checksum (MD5)

59e6c224f2716a8a96bdeac508bc7132

sword-2019-07-03T12:30:55.original.xml (130 B)
Original SWORD entry document
Author(s)
Afek, Yehuda
•
Matveev, Alexander
•
Moll Thomae, Oscar R.
Date Issued
November 2015
Publisher
Springer Nature America, Inc
Citation
Afek, Yehuda, et al. “Amalgamated Lock-Elision.” Distributed Computing, edited by Yoram Moses, vol. 9363, Springer Berlin Heidelberg (2015): pp. 309–24.
Version
Author's final manuscript
Abstract
Hardware lock-elision (HLE) introduces concurrency into legacy lock-based code by optimistically executing critical sections in a fast-path as hardware transactions. Its main limitation is that in case of repeated aborts, it reverts to a fallback-path that acquires a serial lock. This fallback-path lacks hardware-software concurrency, because all fast-path hardware transactions abort and wait for the completion of the fallback. Software lock elision has no such limitation, but the overheads incurred are simply too high. We propose amalgamated lock-elision (ALE), a novel lock-elision algorithm that provides hardware-software concurrency and efficiency: the fallback-path executes concurrently with fast-path hardware transactions, while the common-path fast-path reads incur no overheads and proceed without any instrumentation. The key idea in ALE is to use a sequence of fine-grained locks in the fallback-path to detect conflicts with the fast-path, and at the same time reduce the costs of these locks by executing the fallback-path as a series segments, where each segment is a dynamic length short hardware transaction. We implemented ALE into GCC and tested the new system on Intel Haswell 16-way chip that provides hardware transactions. We benchmarked linked-lists, hash-tables and red-black trees, as well as converting KyotoCacheDB to use ALE in GCC, and all show that ALE significantly outperforms HLE. Keywords: Multicore; Hardware Lock Elision; Hardware Transactional Memory; Algorithms
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
http://creativecommons.org/licenses/by-nc-sa/4.0/
Persistent DSpace Link
https://hdl.handle.net/1721.1/124906
DOI of Published Version
https://doi.org/10.1007/978-3-662-48653-5_21
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.