ACM Transactions on Database Systems (TODS)
Shoring up persistent applications
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
Non-blocking timeout in scalable queue-based spin locks
Proceedings of the twenty-first annual symposium on Principles of distributed computing
Implementation techniques for main memory database systems
SIGMOD '84 Proceedings of the 1984 ACM SIGMOD international conference on Management of data
Partial Strictness in Two-Phase Locking
ICDT '95 Proceedings of the 5th International Conference on Database Theory
Group Commit Timers and High Volume Transaction Systems
Proceedings of the 2nd International Workshop on High Performance Transaction Systems
VLDB '90 Proceedings of the 16th International Conference on Very Large Data Bases
Cache Fusion: Extending Shared-Disk Clusters with Shared Caches
Proceedings of the 27th International Conference on Very Large Data Bases
A scalable lock-free stack algorithm
Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures
Using elimination to implement scalable and lock-free FIFO queues
Proceedings of the seventeenth annual ACM symposium on Parallelism in algorithms and architectures
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
OLTP through the looking glass, and what we found there
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
A case for flash memory ssd in enterprise database applications
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
Shore-MT: a scalable storage manager for the multicore era
Proceedings of the 12th International Conference on Extending Database Technology: Advances in Database Technology
FlashLogging: exploiting flash devices for synchronous logging performance
Proceedings of the 2009 ACM SIGMOD International Conference on Management of data
Improving OLTP scalability using speculative lock inheritance
Proceedings of the VLDB Endowment
PLP: page latch-free shared-everything OLTP
Proceedings of the VLDB Endowment
PCMLogging: reducing transaction logging overhead with PCM
Proceedings of the 20th ACM international conference on Information and knowledge management
Scalability of write-ahead logging on multicore and multisocket hardware
The VLDB Journal — The International Journal on Very Large Data Bases
ACM Transactions on Database Systems (TODS)
Proceedings of the VLDB Endowment
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
Scalable and dynamically balanced shared-everything OLTP with physiological partitioning
The VLDB Journal — The International Journal on Very Large Data Bases
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
MLC-flash-friendly logging and recovery for databases
Proceedings of the 28th Annual ACM Symposium on Applied Computing
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
Toward scalable transaction processing: evolution of shore-MT
Proceedings of the VLDB Endowment
Eliminating unscalable communication in transaction processing
The VLDB Journal — The International Journal on Very Large Data Bases
Hi-index | 0.01 |
The shift to multi-core hardware brings new challenges to database systems, as the software parallelism determines performance. Even though database systems traditionally accommodate simultaneous requests, a multitude of synchronization barriers serialize execution. Write-ahead logging is a fundamental, omnipresent component in ARIES-style concurrency and recovery, and one of the most important yet-to-be addressed potential bottlenecks, especially in OLTP workloads making frequent small changes to data. In this paper, we identify four logging-related impediments to database system scalability. Each issue challenges different level in the software architecture: (a) the high volume of small-sized I/O requests may saturate the disk, (b) transactions hold locks while waiting for the log flush, (c) extensive context switching overwhelms the OS scheduler with threads executing log I/Os, and (d) contention appears as transactions serialize accesses to in-memory log data structures. We demonstrate these problems and address them with techniques that, when combined, comprise a holistic, scalable approach to logging. Our solution achieves a 20%-69% speedup over a modern database system when running log-intensive workloads, such as the TPC-B and TATP benchmarks. Moreover, it achieves log insert throughput over 1.8GB/s for small log records on a single socket server, an order of magnitude higher than the traditional way of accessing the log using a single mutex.