TY - GEN
T1 - Micro-specialization
T2 - 10th International Symposium on Code Generation and Optimization, CGO 2012
AU - Zhang, Rui
AU - Debray, Saumya
AU - Snodgrass, Richard T.
PY - 2012
Y1 - 2012
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=84863449819&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84863449819&partnerID=8YFLogxK
U2 - 10.1145/2259016.2259025
DO - 10.1145/2259016.2259025
M3 - Conference contribution
AN - SCOPUS:84863449819
SN - 9781605586359
T3 - Proceedings - International Symposium on Code Generation and Optimization, CGO 2012
SP - 63
EP - 73
BT - Proceedings - International Symposium on Code Generation and Optimization, CGO 2012
Y2 - 31 March 2012 through 4 April 2012
ER -