TY - GEN
T1 - Shore-MT
T2 - 12th International Conference on Extending Database Technology: Advances in Database Technology, EDBT'09
AU - Johnson, Ryan
AU - Pandis, Ippokratis
AU - Hardavellas, Nikos
AU - Ailamaki, Anastasia
AU - Falsafi, Babak
PY - 2009
Y1 - 2009
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=70349141254&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=70349141254&partnerID=8YFLogxK
U2 - 10.1145/1516360.1516365
DO - 10.1145/1516360.1516365
M3 - Conference contribution
AN - SCOPUS:70349141254
SN - 9781605584225
T3 - Proceedings of the 12th International Conference on Extending Database Technology: Advances in Database Technology, EDBT'09
SP - 24
EP - 35
BT - Proceedings of the 12th International Conference on Extending Database Technology
Y2 - 24 March 2009 through 26 March 2009
ER -