Runtime Specialization of PostgreSQL Query Executor

For computationally intensive workloads, achieving high database performance is in direct correspondence to utilizing CPU efficiently. At the same time, interpretation overhead inherent to traditional interpretive SQL engines gets in the way of optimal CPU utilization.

[1]  Martin Odersky,et al.  Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs , 2010, GPCE '10.

[2]  Goetz Graefe,et al.  Volcano - An Extensible and Parallel Query Evaluation System , 1994, IEEE Trans. Knowl. Data Eng..

[3]  Richard T. Snodgrass,et al.  Application of Micro-specialization to Query Evaluation Operators , 2012, 2012 IEEE 28th International Conference on Data Engineering Workshops.

[4]  Christian Wimmer,et al.  Self-optimizing AST interpreters , 2012, DLS.

[5]  Viktor Leis,et al.  Compiling Database Queries into Machine Code , 2014, IEEE Data Eng. Bull..

[6]  Richard T. Snodgrass,et al.  Micro-specialization: dynamic code specialization of database management systems , 2012, CGO '12.

[7]  Stratis Viglas,et al.  Generating code for holistic query evaluation , 2010, 2010 IEEE 26th International Conference on Data Engineering (ICDE 2010).

[8]  Rick Greer,et al.  Daytona and the fourth-generation language Cymbal , 1999, SIGMOD '99.

[9]  Henri-Pierre Charles,et al.  A LLVM Extension for the Generation of Low Overhead Runtime Program Specializer , 2014, ADAPT '14.

[10]  OderskyMartin,et al.  Lightweight modular staging , 2010 .

[11]  Christopher Smowton,et al.  I/O optimisation and elimination via partial evaluation , 2014 .

[12]  Richard T. Snodgrass,et al.  Micro-Specialization in DBMSes , 2012, 2012 IEEE 28th International Conference on Data Engineering.

[13]  Irving L. Traiger,et al.  A history and evaluation of System R , 1981, CACM.

[14]  Thomas Neumann,et al.  Efficiently Compiling Efficient Query Plans for Modern Hardware , 2011, Proc. VLDB Endow..