This PFI: AIR Technology Translation project focuses on translating the novel technology of micro-specialization to fill the need for improving the speed of database management systems (DBMSes) and enterprise application software (EAS). The next step necessary for commercialization is to demonstrate how the process can be automated. The project will result in a proof-of-concept set of software tools that will take a collection of identified invariants and micro-specialize the DBMS source code automatically.
The enhanced version of those tools will have the following unique features: it will be (i) scalable, i.e., can handle realistic DBMS code bases, up to millions of lines of source code, with acceptable performance; (ii) robust, i.e., able to handle language features that can be tricky for compilers; and (iii) effective, i.e., able to generate high-quality specialized code that realizes the desired performance improvements. These features provide the following two main advantages. First, it does not require an expensive and time-consuming rewrite of the DBMS source code, but can be applied to existing DBMS code. Second, it is independent of, and orthogonal to, other approaches to DBMS performance improvement measures. This means that any investments a DBMS vendor may have made in developing other performance improvement technologies are not nullified by our approach; rather, our approach further enhances the effects of those technologies by producing additional improvements in performance.
This project addresses the following technology gap as it translates from research discovery toward commercial application, that of automating micro-specialization. It is not practical for these vendors to manually perform micro-specialization on the end-user DBMSes since micro-specialization tailors the DBMS code to the specifics of an installation and so is different for different installations. Rather, what the vendors will want, and the product we will provide, is a software development environment that allows developers to quickly, efficiently, and reliably perform micro-specialization on their customers' DBMSes, that they then license to their customers: the DBMS end users. In order to commercialize our idea, therefore, we next have to show that the process can be largely automated.
The project engages Dataware Ventures to be responsible for the development side of the project, focusing on large-scale testing and refinement of the functionality and efficacy of the code specialization algorithms developed by researchers at the University of Arizona. Specifically, Dataware Ventures will perform software development, carry out large-scale testing and evaluation, and provide relevant feedback to UA researchers, aiding in this technology translation effort from research discovery toward commercial reality.
DBMS micro-specialization is important because most organizations with non-trivial data processing needs, including virtually all medium and large businesses and corporations, rely on enterprise application systems for their data processing and analysis. These applications generally run on top of a DBMS, which handles the actual storage and retrieval of data. The performance of the underlying DBMS, i.e., its ability to process large amounts of data within an acceptable amount of time, is therefore of crucial importance for providing timely and accurate information to business decision makers. In addition, the potential economic impact is expected to grow to $157B in the next three years, which will contribute to the U.S. competitiveness in enterprise application systems and in the underlying technology of database management systems.