SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
Algorithms for scalable synchronization on shared-memory multiprocessors
ACM Transactions on Computer Systems (TOCS)
Parallel database systems: the future of high performance database systems
Communications of the ACM
ARIES/IM: an efficient and high concurrency index management method using write-ahead logging
SIGMOD '92 Proceedings of the 1992 ACM SIGMOD international conference on Management of data
Shoring up persistent applications
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
Disco: running commodity operating systems on scalable multiprocessors
Proceedings of the sixteenth ACM symposium on Operating systems principles
Performance of database workloads on shared-memory systems with out-of-order processors
Proceedings of the eighth international conference on Architectural support for programming languages and operating systems
Efficient locking for concurrent operations on B-trees
ACM Transactions on Database Systems (TODS)
Multiversion concurrency control—theory and algorithms
ACM Transactions on Database Systems (TODS)
Even strongly universal hashing is pretty fast
SODA '00 Proceedings of the eleventh annual ACM-SIAM symposium on Discrete algorithms
Transaction Processing: Concepts and Techniques
Transaction Processing: Concepts and Techniques
The Gamma Database Machine Project
IEEE Transactions on Knowledge and Data Engineering
Queue Locks on Cache Coherent Multiprocessors
Proceedings of the 8th International Symposium on Parallel Processing
Architecture of Oracle Parallel Server
VLDB '98 Proceedings of the 24rd International Conference on Very Large Data Bases
VLDB '90 Proceedings of the 16th International Conference on Very Large Data Bases
Space Efficient Hash Tables with Worst Case Constant Access Time
STACS '03 Proceedings of the 20th Annual Symposium on Theoretical Aspects of Computer Science
Evaluating the impact of simultaneous multithreading on network servers using real hardware
SIGMETRICS '05 Proceedings of the 2005 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Maximizing CMP Throughput with Mediocre Cores
Proceedings of the 14th International Conference on Parallel Architectures and Compilation Techniques
An evaluation of buffer management strategies for relational database systems
VLDB '85 Proceedings of the 11th international conference on Very Large Data Bases - Volume 11
Dynamo: amazon's highly available key-value store
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
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
Critical sections: re-emerging scalability concerns for database storage engines
Proceedings of the 4th international workshop on Data management on new hardware
Preemption adaptivity in time-published queue-based spin locks
HiPC'05 Proceedings of the 12th international conference on High Performance Computing
A new look at the roles of spinning and blocking
Proceedings of the Fifth International Workshop on Data Management on New Hardware
Improving OLTP scalability using speculative lock inheritance
Proceedings of the VLDB Endowment
Decoupling contention management from scheduling
Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems
A method for analysis and solution of scalability bottleneck in DBMS
Proceedings of the 2010 Symposium on Information and Communication Technology
Aether: a scalable approach to logging
Proceedings of the VLDB Endowment
Data-oriented transaction execution
Proceedings of the VLDB Endowment
TPCTC'10 Proceedings of the Second TPC technology conference on Performance evaluation, measurement and characterization of complex systems
Proceedings of the 2nd ACM/SPEC International Conference on Performance engineering
Database engines on multicores, why parallelize when you can distribute?
Proceedings of the sixth conference on Computer systems
A data-oriented transaction execution engine and supporting tools
Proceedings of the 2011 ACM SIGMOD International Conference on Management of data
Towards highly parallel event processing through reconfigurable hardware
Proceedings of the Seventh International Workshop on Data Management on New Hardware
PLP: page latch-free shared-everything OLTP
Proceedings of the VLDB Endowment
Strict serializability is harmless: a new architecture for enterprise applications
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Cache craftiness for fast multicore key-value storage
Proceedings of the 7th ACM european conference on Computer Systems
Scalability of write-ahead logging on multicore and multisocket hardware
The VLDB Journal — The International Journal on Very Large Data Bases
Reducing OLTP instruction misses with thread migration
DaMoN '12 Proceedings of the Eighth International Workshop on Data Management on New Hardware
Fighting back: using observability tools to improve the DBMS (not just diagnose it)
DBTest '12 Proceedings of the Fifth International Workshop on Testing Database Systems
ACM Transactions on Database Systems (TODS)
Proceedings of the VLDB Endowment
Flash-based extended cache for higher throughput and faster recovery
Proceedings of the VLDB Endowment
HaLock: hardware-assisted lock contention detection in multithreaded applications
Proceedings of the 21st international conference on Parallel architectures and compilation techniques
From A to E: analyzing TPC's OLTP benchmarks: the obsolete, the ubiquitous, the unexplored
Proceedings of the 16th International Conference on Extending Database Technology
SLICC: Self-Assembly of Instruction Cache Collectives for OLTP Workloads
MICRO-45 Proceedings of the 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture
Scalable and dynamically balanced shared-everything OLTP with physiological partitioning
The VLDB Journal — The International Journal on Very Large Data Bases
Hekaton: SQL server's memory-optimized OLTP engine
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
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
FTL2: a hybrid flash translation layer with logging for write reduction in flash memory
Proceedings of the 14th ACM SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems
Scaling up analytical queries with column-stores
Proceedings of the Sixth International Workshop on Testing Database Systems
OLTP in wonderland: where do cache misses come from in major OLTP components?
Proceedings of the Ninth International Workshop on Data Management on New Hardware
Energy-efficient in-memory database computing
Proceedings of the Conference on Design, Automation and Test in Europe
STREX: boosting instruction cache reuse in OLTP workloads through stratified transaction execution
Proceedings of the 40th Annual International Symposium on Computer Architecture
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
ACM SIGOPS 24th Symposium on Operating Systems Principles
Speedy transactions in multicore in-memory databases
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
From ARIES to MARS: transaction support for next-generation, solid-state drives
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
bCATE: a balanced contention-aware transaction execution model for highly concurrent OLTP systems
WAIM'13 Proceedings of the 14th international conference on Web-Age Information Management
Toward scalable transaction processing: evolution of shore-MT
Proceedings of the VLDB Endowment
Sharing data and work across concurrent analytical queries
Proceedings of the VLDB Endowment
Improving flash write performance by using update frequency
Proceedings of the VLDB Endowment
Ubik: efficient cache sharing with strict qos for latency-critical workloads
Proceedings of the 19th international conference on Architectural support for programming languages and operating systems
Eliminating unscalable communication in transaction processing
The VLDB Journal — The International Journal on Very Large Data Bases
Hi-index | 0.00 |
Database storage managers have long been able to efficiently handle multiple concurrent requests. Until recently, however, a computer contained only a few single-core CPUs, and therefore only a few transactions could simultaneously access the storage manager's internal structures. This allowed storage managers to use non-scalable approaches without any penalty. With the arrival of multicore chips, however, this situation is rapidly changing. More and more threads can run in parallel, stressing the internal scalability of the storage manager. Systems optimized for high performance at a limited number of cores are not assured similarly high performance at a higher core count, because unanticipated scalability obstacles arise. We benchmark four popular open-source storage managers (Shore, BerkeleyDB, MySQL, and PostgreSQL) on a modern multicore machine, and find that they all suffer in terms of scalability. We briefly examine the bottlenecks in the various storage engines. We then present Shore-MT, a multithreaded and highly scalable version of Shore which we developed by identifying and successively removing internal bottlenecks. When compared to other DBMS, Shore-MT exhibits superior scalability and 2--4 times higher absolute throughput than its peers. We also show that designers should favor scalability to single-thread performance, and highlight important principles for writing scalable storage engines, illustrated with real examples from the development of Shore-MT.