|
ABSTRACT
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Oracle BerkeleyDB. http://www.oracle.com/technology/products/berkeley-db/index.html
|
| |
2
|
MySQL. http://www.mysql.com.
|
| |
3
|
A. Ailamaki, D. J. DeWitt, and M. D. Hill. "Walking Four Machines By The Shore." In Proc. CAECW, 2001.
|
| |
4
|
|
 |
5
|
|
 |
6
|
|
 |
7
|
Michael J. Carey , David J. DeWitt , Michael J. Franklin , Nancy E. Hall , Mark L. McAuliffe , Jeffrey F. Naughton , Daniel T. Schuh , Marvin H. Solomon , C. K. Tan , Odysseas G. Tsatalos , Seth J. White , Michael J. Zwilling, Shoring up persistent applications, Proceedings of the 1994 ACM SIGMOD international conference on Management of data, p.383-394, May 24-27, 1994, Minneapolis, Minnesota, United States
|
| |
8
|
|
| |
9
|
T. Craig. "Building FIFO and priority-queueing spin locks from atomic swap." Technical Report TR 93-02-02, University of Washington, Dept. of Computer Science, 1993.
|
| |
10
|
|
 |
11
|
Giuseppe DeCandia , Deniz Hastorun , Madan Jampani , Gunavardhan Kakulapati , Avinash Lakshman , Alex Pilchin , Swaminathan Sivasubramanian , Peter Vosshall , Werner Vogels, Dynamo: amazon's highly available key-value store, Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles, October 14-17, 2007, Stevenson, Washington, USA
|
| |
12
|
D. J. Dewitt , S. Ghandeharizadeh , D. A. Schneider , A. Bricker , H. -I. Hsiao , R. Rasmussen, The Gamma Database Machine Project, IEEE Transactions on Knowledge and Data Engineering, v.2 n.1, p.44-62, March 1990
[doi> 10.1109/69.50905]
|
 |
13
|
|
| |
14
|
|
| |
15
|
J. Gray. "Tape is Dead, Disk is Tape, Flash is Disk, RAM Locality is King." Gong Show Presentation at CIDR, 2007.
|
| |
16
|
|
| |
17
|
B. He, W. N. Scherer III, and M. L. Scott. "Preemption Adaptivity in Time-Published Queue-Based Spin Locks." In Proc. HiPC, 2005.
|
| |
18
|
P. Helland. "Life beyond Distributed Transactions: an Apostate's Opinion." In Proc. CIDR, 2007.
|
| |
19
|
J. M. Hellerstein, and M. Stonebraker. "Anatomy of a Database System." In Readings in Database Systems, 4th ed.
|
 |
20
|
|
| |
21
|
|
 |
22
|
|
| |
23
|
|
 |
24
|
|
| |
25
|
|
 |
26
|
|
| |
27
|
|
 |
28
|
Parthasarathy Ranganathan , Kourosh Gharachorloo , Sarita V. Adve , Luiz André Barroso, 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, p.307-318, October 02-07, 1998, San Jose, California, United States
|
 |
29
|
|
 |
30
|
|
| |
31
|
Michael Stonebraker , Samuel Madden , Daniel J. Abadi , Stavros Harizopoulos , Nabil Hachem , Pat Helland, The end of an architectural era: (it's time for a complete rewrite), Proceedings of the 33rd international conference on Very large data bases, September 23-27, 2007, Vienna, Austria
|
| |
32
|
|
| |
33
|
TPC (Transaction Processing Performance Council). TPC Benchmark C (OLTP) Standard Specification, Revision 5.9.
|
|