Observations on optimistic concurrency control schemes
Information Systems - Special issue: Databases:8Mtheir creation, management and utilization
A critique of ANSI SQL isolation levels
SIGMOD '95 Proceedings of the 1995 ACM SIGMOD international conference on Management of data
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)
The notions of consistency and predicate locks in a database system
Communications of the ACM
VLDB '90 Proceedings of the 16th International Conference on Very Large Data Bases
Cache-Conscious Concurrency Control of Main-Memory Indexes on Shared-Memory Multiprocessor Systems
Proceedings of the 27th International Conference on Very Large Data Bases
Performance of memory reclamation for lockless synchronization
Journal of Parallel and Distributed Computing
The end of an architectural era: (it's time for a complete rewrite)
VLDB '07 Proceedings of the 33rd international conference on Very large data bases
Shore-MT: a scalable storage manager for the multicore era
Proceedings of the 12th International Conference on Extending Database Technology: Advances in Database Technology
A practical concurrent binary search tree
Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
Benchmarking cloud serving systems with YCSB
Proceedings of the 1st ACM symposium on Cloud computing
Low overhead concurrency control for partitioned main memory databases
Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
Data-oriented transaction execution
Proceedings of the VLDB Endowment
Database engines on multicores, why parallelize when you can distribute?
Proceedings of the sixth conference on Computer systems
PLP: page latch-free shared-everything OLTP
Proceedings of the VLDB Endowment
High-performance concurrency control mechanisms for main-memory databases
Proceedings of the VLDB Endowment
DISC'06 Proceedings of the 20th international conference on Distributed Computing
Cache craftiness for fast multicore key-value storage
Proceedings of the 7th ACM european conference on Computer Systems
Skew-aware automatic database partitioning in shared-nothing, parallel OLTP systems
SIGMOD '12 Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data
Proceedings of the VLDB Endowment
Spanner: Google's globally-distributed database
OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation
Lightweight locking for main memory database systems
Proceedings of the VLDB Endowment
Hekaton: SQL server's memory-optimized OLTP engine
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
Latch-free data structures for DBMS: design, implementation, and evaluation
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
A scalable lock manager for multicores
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
RadixVM: scalable address spaces for multithreaded applications
Proceedings of the 8th ACM European Conference on Computer Systems
The Bw-Tree: A B-tree for new hardware platforms
ICDE '13 Proceedings of the 2013 IEEE International Conference on Data Engineering (ICDE 2013)
MICA: a holistic approach to fast in-memory key-value storage
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Hi-index | 0.00 |
Silo is a new in-memory database that achieves excellent performance and scalability on modern multicore machines. Silo was designed from the ground up to use system memory and caches efficiently. For instance, it avoids all centralized contention points, including that of centralized transaction ID assignment. Silo's key contribution is a commit protocol based on optimistic concurrency control that provides serializability while avoiding all shared-memory writes for records that were only read. Though this might seem to complicate the enforcement of a serial order, correct logging and recovery is provided by linking periodically-updated epochs with the commit protocol. Silo provides the same guarantees as any serializable database without unnecessary scalability bottlenecks or much additional latency. Silo achieves almost 700,000 transactions per second on a standard TPC-C workload mix on a 32-core machine, as well as near-linear scalability. Considered per core, this is several times higher than previously reported results.