• Home
  • Search
  • Speculative lock elision: enabling highly concurrent multithreaded execution
  • Open Access IconOpen Access
  • Cite Icon401
  • https://doi.org/10.1109/micro.2001.991127Copy DOI Icon

Speculative lock elision: enabling highly concurrent multithreaded execution

  • Aug 25, 2005
  • R Rajwar +1 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Serialization of threads due to critical sections is a fundamental bottleneck to achieving high performance in multithreaded programs. Dynamically, such serialization may be unnecessary because these critical sections could have safely executed concurrently without locks. Current processors cannot fully exploit such parallelism because they do not have mechanisms to dynamically detect such false inter-thread dependences. We propose Speculative Lock Elision (SLE), a novel micro-architectural technique to remove dynamically unnecessary lock-induced serialization and enable highly concurrent multithreaded execution. The key insight is that locks do not always have to be acquired for a correct execution. Synchronization instructions are predicted as being unnecessary and elided. This allows multiple threads to concurrently execute critical sections protected by the same lock. Misspeculation due to inter-thread data conflicts is detected using existing cache mechanisms and rollback is used for recovery. Successful speculative elision is validated and committed without acquiring the lock. SLE can be implemented entirely in microarchitecture without instruction set support and without system-level modifications, is transparent to programmers, and requires only trivial additional hardware support. SLE can provide programmers a fast path to writing correct high-performance multithreaded programs.

Similar Papers
  • Conference Article
  • Citations35

Improving GPGPU energy-efficiency through concurrent kernel execution and DVFS

  • Feb 07, 2015
  • Qing Jiao +3
  • Conference Article
  • Citations33

Predictive Typestate Checking of Multithreaded Java Programs

  • Sep 01, 2008
  • Pallavi Joshi +1
  • Research Article
  • Citations5

6×86: the Cyrix solution to executing ×86 binaries on a high performance microprocessor

  • Jan 01, 1995
  • Proceedings of the IEEE
  • S.C Mcmahan +2
  • Conference Article
  • Citations1

Approximate computing for multithreaded programs in shared memory architectures

  • Oct 09, 2019
  • Bernard Nongpoh +2
  • Conference Article
  • Citations50

Performance measurements for multithreaded programs

  • Jun 01, 1998
  • Minwen Ji +2
  • Conference Article
  • Citations11

JIT Compilation Policy on Single-Core and Multi-core Machines

  • Feb 01, 2011
  • Prasad A Kulkarni +1
  • Conference Article
  • Citations41

Turning Centralized Coherence and Distributed Critical-Section Execution on their Head

  • Jun 15, 2015
  • Stefanos Kaxiras +4
  • Research Article
  • Citations7

Cost-conscious strategies to increase performance of numerical programs on aggressive VLIW architectures

  • Jan 01, 2001
  • IEEE Transactions on Computers
  • D Lopez +3
  • Research Article
  • Citations18

Synchronization and communication costs of loop partitioning on shared-memory multiprocessor systems

  • Jul 01, 1992
  • IEEE Transactions on Parallel and Distributed Systems
  • R Gupta
  • Conference Article
  • Citations1

An Algorithm Used in a Power Monitor to Mitigate Dark Silicon on VLSI Chip

  • Jul 01, 2015
  • Zhou Zhao +3
  • Research Article
  • Citations17

AVPP

  • Dec 07, 2018
  • ACM Transactions on Architecture and Code Optimization
  • Lois Orosa +2
  • Research Article
  • Citations24

Dynamic Resource Partitioning for Heterogeneous Multi-Core-Based Cloud Computing in Smart Cities

  • Jan 01, 2016
  • IEEE Access
  • Gangyong Jia +4
  • Conference Article

The multi-threaded optimization of dynamic binary translation

  • Jul 01, 2011
  • Jinxian Cui +3
  • Conference Article
  • Citations27

Specifying and checking semantic atomicity for multithreaded programs

  • Mar 05, 2011
  • Jacob Burnim +2
  • Research Article
  • Citations21

Asserting and checking determinism for multithreaded programs

  • Jun 01, 2010
  • Communications of the ACM
  • Jacob Burnim +1
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.