Micro-Specialization: Dynamic Code Specialization of Database Management Systems (2012)
Cached
Download Links
| Venue: | in International Symposium on Code Generation and Optimization (CGO |
| Citations: | 1 - 1 self |
BibTeX
@INPROCEEDINGS{Zhang12micro-specialization:dynamic,
author = {Rui Zhang and Saumya Debray and Richard T. Snodgrass},
title = {Micro-Specialization: Dynamic Code Specialization of Database Management Systems},
booktitle = {in International Symposium on Code Generation and Optimization (CGO},
year = {2012}
}
OpenURL
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 efficient 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 highperformance 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. 1.







