Micro-specialization: Dynamic code specialization of database management systems

Research output: Chapter in Book/Report/Conference proceedingConference contribution

8 Scopus citations

Abstract

Database management systems (DBMSes) form a cornerstone of modern IT infrastructure, and it is essential that they have excellent performance. Much of the work to date on optimizing DBMS performance has emphasized ensuring eff cient data access from secondary storage. This paper shows that DBMSes can also benefit significantly from dynamic code specialization. Our approach focuses on the iterative query evaluation loops typically used by such systems. Query evaluation involves extensive references to the relational schema, predicate values, and join types, which are all invariant during query evaluation, and thus are subject to dynamic value-based code specialization. We introduce three distinct types of specialization, each corresponding to a particular kind of invariant. We realize these techniques, in concert termed micro-specialization, via a DBMS-independent run-time environment and apply them to a high performance open-source DBMS, PostgreSQL. We show that microspecialization requires minimal changes to the DBMS and can yield performance improvements simultaneously across a wide range of queries and modifications, in terms of storage, CPU usage, and I/O time of standard DBMS benchmarks. We also discuss an integrated development environment that helps DBMS developers apply micro-specializations to identified target code sequences.

Original languageEnglish (US)
Title of host publicationProceedings - International Symposium on Code Generation and Optimization, CGO 2012
Pages63-73
Number of pages11
DOIs
Publication statusPublished - 2012
Event10th International Symposium on Code Generation and Optimization, CGO 2012 - San Jose, CA, United States
Duration: Mar 31 2012Apr 4 2012

Other

Other10th International Symposium on Code Generation and Optimization, CGO 2012
CountryUnited States
CitySan Jose, CA
Period3/31/124/4/12

    Fingerprint

ASJC Scopus subject areas

  • Software

Cite this

Zhang, R., Debray, S. K., & Snodgrass, R. T. (2012). Micro-specialization: Dynamic code specialization of database management systems. In Proceedings - International Symposium on Code Generation and Optimization, CGO 2012 (pp. 63-73) https://doi.org/10.1145/2259016.2259025