Observations on optimistic concurrency control schemes
Information Systems - Special issue: Databases:8Mtheir creation, management and utilization
Locking performance in centralized databases
ACM Transactions on Database Systems (TODS)
A fast mutual exclusion algorithm
ACM Transactions on Computer Systems (TOCS)
Concurrency control and recovery in database systems
Concurrency control and recovery in database systems
Performance analysis of centralized databases with optimistic concurrency control
Performance Evaluation
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Concurrent search structure algorithms
ACM Transactions on Database Systems (TODS)
Concurrent Access of Priority Queues
IEEE Transactions on Computers
Concurrent operations on priority queues
Communications of the ACM
Adaptive backoff synchronization techniques
ISCA '89 Proceedings of the 16th annual international symposium on Computer architecture
The Performance Implications of Thread Management Alternatives for Shared-Memory Multiprocessors
IEEE Transactions on Computers
Analysis of database performance with dynamic locking
Journal of the ACM (JACM)
Approximate analysis of reader and writer access to a shared resource
SIGMETRICS '90 Proceedings of the 1990 ACM SIGMETRICS conference on Measurement and modeling of computer systems
A methodology for implementing highly concurrent data structures
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
Wait-free parallel algorithms for the union-find problem
STOC '91 Proceedings of the twenty-third annual ACM symposium on Theory of computing
Algorithms for scalable synchronization on shared-memory multiprocessors
ACM Transactions on Computer Systems (TOCS)
Performance analysis of concurrent-read exclusive-write
SIGMETRICS '91 Proceedings of the 1991 ACM SIGMETRICS conference on Measurement and modeling of computer systems
Lock-free garbage collection for multiprocessors
SPAA '91 Proceedings of the third annual ACM symposium on Parallel algorithms and architectures
M68000 family programmer's reference manual
M68000 family programmer's reference manual
Performance issues in non-blocking synchronization on shared-memory multiprocessors
PODC '92 Proceedings of the eleventh annual ACM symposium on Principles of distributed computing
Locking without blocking: making lock based concurrent data structure algorithms nonblocking
PODS '92 Proceedings of the eleventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Scheduler activations: effective kernel support for the user-level management of parallelism
ACM Transactions on Computer Systems (TOCS)
A dynamic processor allocation policy for multiprogrammed shared-memory multiprocessors
ACM Transactions on Computer Systems (TOCS)
Waiting algorithms for synchronization in large-scale multiprocessors
ACM Transactions on Computer Systems (TOCS)
A methodology for implementing highly concurrent data objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Transactional memory: architectural support for lock-free data structures
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
A bistability throughput phenomenon in a shared-memory MIMD machine
The Journal of Supercomputing
Concurrent manipulation of binary search trees
ACM Transactions on Database Systems (TODS)
Concurrent operations on B-trees with overtaking
PODS '85 Proceedings of the fourth ACM SIGACT-SIGMOD symposium on Principles of database systems
Specifying Concurrent Program Modules
ACM Transactions on Programming Languages and Systems (TOPLAS)
Concurrency control in a dynamic search structure
PODS '82 Proceedings of the 1st ACM SIGACT-SIGMOD symposium on Principles of database systems
Multiple Reservations and the Oklahoma Update
IEEE Parallel & Distributed Technology: Systems & Technology
A Nonblocking Algorithm for Shared Queues Using Compare-and-Swap
IEEE Transactions on Computers
Modeling and Analysis of a Time-Stamp History Based Certification Protocol for Concurrency Control
IEEE Transactions on Knowledge and Data Engineering
The Performance of Spin Lock Alternatives for Shared-Memory Multiprocessors
IEEE Transactions on Parallel and Distributed Systems
The Effect of Scheduling Discipline on Spin Overhead in Shared Memory Parallel Systems
IEEE Transactions on Parallel and Distributed Systems
Models of Access Delays in Multiprocessor Memories
IEEE Transactions on Parallel and Distributed Systems
Performance of Concurrency Control Algorithms with Nonexclusive Access
Performance '84 Proceedings of the Tenth International Symposium on Computer Performance Modelling, Measurement and Evaluation
Dynamic decentralized cache schemes for mimd parallel processors
ISCA '84 Proceedings of the 11th annual international symposium on Computer architecture
The performance of concurrent data structure algorithms
The performance of concurrent data structure algorithms
Research Frontiers in Object Technology
Information Systems Frontiers
Snake: control flow distributed software transactional memory
SSS'11 Proceedings of the 13th international conference on Stabilization, safety, and security of distributed systems
Hi-index | 14.99 |
Concurrent access to shared data objects must be regulated by a concurrency control protocol to ensure correctness. Many concurrency control protocols require that a process set a lock on the data it accesses. Recently, there has been considerable interest in lock-free concurrency control algorithms. Lock-free algorithms offer the potential for better system performance because slow or failed processes do not block fast processes. Process 驴slowdowns驴 can occur due to cache line faults, memory and bus contention, page faults, context switching, NUMA architectures, heterogeneous architectures, or differences in operation execution time. Much work has been done to characterize the performance of locking algorithms, but little has been done to characterize the performance of lock-free algorithms. In this paper, we present a performance model for analyzing lock-free algorithms that studies the effects of slowdowns on performance. We find that lock-free algorithms are better than locking algorithms if the slowdowns are transient, but worse if the slowdowns are permanent. One implication of this result is that lock-free concurrent objects are appropriate for UMA architectures, but NUMA architectures require special protocols.