Results 1 - 10
of
692
Mechanisms for Efficient Shared-Memory, Lock-Based Synchronization
- PhD thesis,University of Wisconsin,Madison,1999
, 1999
"... Efficient locking synchronization primitives are essential for achieving high performance in fine-grain, shared-memory parallel programs. One function of locking primitives is to enable exclusive access to shared data and critical sections of code. In this dissertation, I make the following six cont ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
contributions. (1) I propose a framework, the synchronization period, in which to reason about the inefficiencies of locking primitives. (2) I identify four previously proposed locking mechanisms (local spinning, queue-based locking, collocation, and synchronous prefetch) and uses them to classify existing
The Semantics of Progress and Concurrency in Distributed Transactional Memory Systems
"... Transactional memory (TM) is an alternative synchronization model for shared in memory data objects that promise to alleviate difficulties with lock-based synchronization (e.g., lack of compositionality, deadlocks, lock convoying). A transaction ..."
Abstract
- Add to MetaCart
Transactional memory (TM) is an alternative synchronization model for shared in memory data objects that promise to alleviate difficulties with lock-based synchronization (e.g., lack of compositionality, deadlocks, lock convoying). A transaction
Virtualizing Transactional Memory
, 2005
"... Writing concurrent programs is difficult because of the complexity of ensuring proper synchronization. Conventional lock-based synchronization suffers from wellknown limitations, so researchers have considered nonblocking transactions as an alternative. Recent hardware proposals have demonstrated ho ..."
Abstract
-
Cited by 337 (3 self)
- Add to MetaCart
Writing concurrent programs is difficult because of the complexity of ensuring proper synchronization. Conventional lock-based synchronization suffers from wellknown limitations, so researchers have considered nonblocking transactions as an alternative. Recent hardware proposals have demonstrated
A Type System for Preventing Data Races
"... This paper presents a new static type system for writing multi-threaded programs. This type system guarantees that any well-typed program is free of data races. We focus on object-oriented programs that use lock-based synchronization. In such programs, every shared data structure is protected by a l ..."
Abstract
- Add to MetaCart
This paper presents a new static type system for writing multi-threaded programs. This type system guarantees that any well-typed program is free of data races. We focus on object-oriented programs that use lock-based synchronization. In such programs, every shared data structure is protected by a
Lock-based Concurrent Data Structures
"... Before moving beyond locks, we’ll first describe how to use locks in some common data structures. Adding locks to a data structure to make it us-able by threads makes the structure thread safe. Of course, exactly how such locks are added determines both the correctness and performance of the data st ..."
Abstract
- Add to MetaCart
thread safe? Figure 29.2 shows how we do so. 1 2 LOCK-BASED CONCURRENT DATA STRUCTURES 1 typedef struct __counter_t {
Lock-based Concurrent Data Structures
"... Beforemoving beyond locks, we’ll first describe how to use locks in some common data structures. Adding locks to a data structure to make it us-able by threads makes the structure thread safe. Of course, exactly how such locks are added determines both the correctness and performance of the data str ..."
Abstract
- Add to MetaCart
thread safe? Figure 29.2 shows how we do so. 1 2 LOCK-BASED CONCURRENT DATA STRUCTURES 1 typedef struct __counter_t {
Eraser: a dynamic data race detector for multithreaded programs
- ACM Transaction of Computer System
, 1997
"... Multi-threaded programming is difficult and error prone. It is easy to make a mistake in synchronization that produces a data race, yet it can be extremely hard to locate this mistake during debugging. This paper describes a new tool, called Eraser, for dynamically detecting data races in lock-based ..."
Abstract
-
Cited by 688 (2 self)
- Add to MetaCart
Multi-threaded programming is difficult and error prone. It is easy to make a mistake in synchronization that produces a data race, yet it can be extremely hard to locate this mistake during debugging. This paper describes a new tool, called Eraser, for dynamically detecting data races in lock-based
Transactional Memory: Architectural Support for Lock-Free Data Structures
"... A shared data structure is lock-free if its operations do not require mutual exclusion. If one process is interrupted in the middle of an operation, other processes will not be prevented from operating on that object. In highly concurrent systems, lock-free data structures avoid common problems asso ..."
Abstract
-
Cited by 1031 (27 self)
- Add to MetaCart
associated with conventional locking techniques, including priority inversion, convoying, and difficulty of avoiding deadlock. This paper introduces transactional memory, a new multiprocessor architecture intended to make lock-free synchronization as efficient (and easy to use) as conventional techniques
Software Transactional Memory
, 1995
"... As we learn from the literature, flexibility in choosing synchronization operations greatly simplifies the task of designing highly concurrent programs. Unfortunately, existing hardware is inflexible and is at best on the level of a Load Linked/Store Conditional operation on a single word. Building ..."
Abstract
-
Cited by 695 (14 self)
- Add to MetaCart
on the hardware based transactional synchronization methodology of Herlihy and Moss, we offer software transactional memory (STM), a novel software method for supporting flexible transactional programming of synchronization operations. STM is non-blocking, and can be implemented on existing machines using only a
Evaluating lock-based protocols for cooperation on xml documents
- SIGMOD Rec
"... We discuss four different core protocols for synchronizing access to and modifications of XML document collections. These core protocols synchronize structure traversals and modifications. They are meant to be integrated into a native XML base management System (XBMS) and are based on two phase lock ..."
Abstract
-
Cited by 12 (0 self)
- Add to MetaCart
We discuss four different core protocols for synchronizing access to and modifications of XML document collections. These core protocols synchronize structure traversals and modifications. They are meant to be integrated into a native XML base management System (XBMS) and are based on two phase
Results 1 - 10
of
692