When lock-based parallel programs execute on conventional multi-core hardware, faulty software can cause hard-to-debug race condi-tions in critical sections that violate the contract between locks and their protected shared variables. This paper proposes new hardware support for enforcing isolation of critical section execution. It can detect and tolerate races, allowing programs to execute race-free. Our hardware scheme targets the existing large code base of locked-based parallel programs written in type unsafe languages such as C and C++. Our approach works directly on unmodified executables. An evaluation of 13 programs from the SPLASH2 and PARSEC suites shows that the cost of the additional hardware and the impact on the overall execut...
Hardware lock-elision (HLE) introduces concurrency into legacy lock-based code by optimistically exe...
The rapid progress of multi-/many-core architectures has caused data-intensive parallel applications...
One of the major productivity issues in parallel programming arises from the use of lock/unlock oper...
In todays ubiquitous multiprocessor environment parallel programming becomesan important tool to rea...
In this paper, we focus on concurrent programs that use locks to achieve isolation of data accessed ...
Abstract. Lock-free shared data structures in the setting of distributed computing have received a f...
Hardware lock elision (HLE) concurrently executes lock critical sections as hardware transactions, b...
Mutual-exclusion locks are currently the most popular mechanism for interprocess synchronisation, la...
An essential part of programming for multi-core and multi-processor includes ef cient and reliable m...
Writing correct and efficient parallel programs is an unavoidable challenge; the challenge becomes a...
The past few years have marked the start of a historic transition from sequential to parallel comput...
Locks are a frequently used synchronisation mechanism in shared memory concurrent programs. They ar...
This work introduces ToleRace, a runtime system that allows parallel programs to detect and even tol...
The recent trend of multicore CPUs pushes for major changes in software development. Traditional sin...
Conventional lock implementations serialize access to critical sections guarded by the same lock, pr...
Hardware lock-elision (HLE) introduces concurrency into legacy lock-based code by optimistically exe...
The rapid progress of multi-/many-core architectures has caused data-intensive parallel applications...
One of the major productivity issues in parallel programming arises from the use of lock/unlock oper...
In todays ubiquitous multiprocessor environment parallel programming becomesan important tool to rea...
In this paper, we focus on concurrent programs that use locks to achieve isolation of data accessed ...
Abstract. Lock-free shared data structures in the setting of distributed computing have received a f...
Hardware lock elision (HLE) concurrently executes lock critical sections as hardware transactions, b...
Mutual-exclusion locks are currently the most popular mechanism for interprocess synchronisation, la...
An essential part of programming for multi-core and multi-processor includes ef cient and reliable m...
Writing correct and efficient parallel programs is an unavoidable challenge; the challenge becomes a...
The past few years have marked the start of a historic transition from sequential to parallel comput...
Locks are a frequently used synchronisation mechanism in shared memory concurrent programs. They ar...
This work introduces ToleRace, a runtime system that allows parallel programs to detect and even tol...
The recent trend of multicore CPUs pushes for major changes in software development. Traditional sin...
Conventional lock implementations serialize access to critical sections guarded by the same lock, pr...
Hardware lock-elision (HLE) introduces concurrency into legacy lock-based code by optimistically exe...
The rapid progress of multi-/many-core architectures has caused data-intensive parallel applications...
One of the major productivity issues in parallel programming arises from the use of lock/unlock oper...