The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
Efficient locking for concurrent operations on B-trees
ACM Transactions on Database Systems (TODS)
System R: relational approach to database management
ACM Transactions on Database Systems (TODS)
Effects of locking granularity in a database management system
ACM Transactions on Database Systems (TODS)
On-the-fly garbage collection: an exercise in cooperation
Communications of the ACM
Concurrent reading and writing
Communications of the ACM
The notions of consistency and predicate locks in a database system
Communications of the ACM
A Discipline of Programming
An optimality theory of concurrency control for databases
SIGMOD '79 Proceedings of the 1979 ACM SIGMOD international conference on Management of data
Notes on Data Base Operating Systems
Operating Systems, An Advanced Course
Axiomatic proof techniques for parallel programs.
Axiomatic proof techniques for parallel programs.
Proving the Correctness of Multiprocess Programs
IEEE Transactions on Software Engineering
ACM Transactions on Database Systems (TODS)
Operation specific locking in B-trees
PODS '87 Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Concurrency control in database structures with relaxed balance
PODS '87 Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Concurrent search structure algorithms
ACM Transactions on Database Systems (TODS)
Concurrency control of nested transactions accessing B-trees
PODS '89 Proceedings of the eighth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Uncoupling updating and rebalancing in chromatic binary search trees
PODS '91 Proceedings of the tenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
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
Concurrency and recovery in generalized search trees
SIGMOD '97 Proceedings of the 1997 ACM SIGMOD international conference on Management of data
Transaction synchronization in structures for point data
GIS '97 Proceedings of the 5th ACM international workshop on Advances in geographic information systems
A framework for the performance analysis of concurrent B-tree algorithms
PODS '90 Proceedings of the ninth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Concurrent set manipulation without locking
Proceedings of the seventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
SAC '95 Proceedings of the 1995 ACM symposium on Applied computing
Concurrency control in a dynamic search structure
ACM Transactions on Database Systems (TODS)
A greedy concurrent approach to incremental code generation
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
On optimistic methods for concurrency control
ACM Transactions on Database Systems (TODS)
Efficient locking for concurrent operations on B-trees
ACM Transactions on Database Systems (TODS)
A symmetric concurrent B-tree algorithm
ACM '86 Proceedings of 1986 ACM Fall joint computer conference
Intensive Data Management in Parallel Systems: A Survey
Distributed and Parallel Databases
Proceedings of the twentieth annual ACM symposium on Principles of distributed computing
Concurrency control mechanisms and the serializability of concurrent tree algorithms
PODS '84 Proceedings of the 3rd ACM SIGACT-SIGMOD symposium on Principles of database systems
Concurrency control in a dynamic search structure
PODS '82 Proceedings of the 1st ACM SIGACT-SIGMOD symposium on Principles of database systems
The Architecture of the Dalí Main-Memory Storage Manager
Multimedia Tools and Applications
Performance of B+ tree concurrency control algorithms
The VLDB Journal — The International Journal on Very Large Data Bases
Concurrent Algorithms for Real-Time Memory Management
IEEE Software
Characterizing the Performance of Algorithms for Lock-Free Objects
IEEE Transactions on Computers
A Generalized Simultaneous Access Dictionary Machine
IEEE Transactions on Parallel and Distributed Systems
Simulation Data Structures for Parallel Resource Management
IEEE Transactions on Software Engineering
Deleting Keys of B-trees in Parallel
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
Logical and Physical Versioning in Main Memory Databases
VLDB '97 Proceedings of the 23rd International Conference on Very Large Data Bases
View Serializable Updates of Concurrent Index Structures
DBPL '01 Revised Papers from the 8th International Workshop on Database Programming Languages
Distributed Computing - Special issue: Selected papers from PODC '01
On maintaining dynamic information in a concurrent environment
STOC '84 Proceedings of the sixteenth annual ACM symposium on Theory of computing
Consistent and compact data management in distributed storage systems
Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures
Deleting keys of B-trees in parallel
Journal of Parallel and Distributed Computing
Concurrency control and integrity preservation for the `RIM' DBMS
ACM SIGMIS Database
Concurrent programming without locks
ACM Transactions on Computer Systems (TOCS)
Resources, concurrency, and local reasoning
Theoretical Computer Science
Making RCU safe for deep sub-millisecond response realtime applications
ATEC '04 Proceedings of the annual conference on USENIX Annual Technical Conference
EDBT '08 Proceedings of the 11th international conference on Extending database technology: Advances in database technology
Introducing technology into the Linux kernel: a case study
ACM SIGOPS Operating Systems Review - Research and developments in the Linux kernel
Symbolic Context-Bounded Analysis of Multithreaded Java Programs
SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
Associative Parallel Containers in STAPL
Languages and Compilers for Parallel Computing
A runtime system for software lock elision
Proceedings of the 4th ACM European conference on Computer systems
Online reorganization of databases
ACM Computing Surveys (CSUR)
SPADE: verification of multithreaded dynamic and recursive programs
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Contention-sensitive data structures and algorithms
DISC'09 Proceedings of the 23rd international conference on Distributed computing
Non-blocking binary search trees
Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Concurrent tries with efficient non-blocking snapshots
Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming
Verifying concurrent message-passing c programs with recursive calls
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Structured deferral: synchronization via procrastination
Communications of the ACM
Structured Deferral: Synchronization via Procrastination
Queue - Concurrency
LLAMA: a cache/storage subsystem for modern hardware
Proceedings of the VLDB Endowment
Semantics-preserving sharing actors
Proceedings of the 2013 workshop on Programming based on actors, agents, and decentralized control
A general technique for non-blocking trees
Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming
Hi-index | 0.02 |
The concurrent manipulation of a binary search tree is considered in this paper. The systems presented can support any number of concurrent processes which perform searching, insertion, deletion, and rotation (reorganization) on the tree, but allow any process to lock only a constant number of nodes at any time. Also, in the systems, searches are essentially never blocked. The concurrency control techniques introduced in the paper include the use of special nodes and pointers to redirect searches, and the use of copies of sections of the tree to introduce many changes simultaneously and therefore avoid unpredictable interleaving. Methods developed in this paper may provide new insights into other problems in the area of concurrent database manipulation.