The Compass project is charting a course towards cooperative compiler and run-time support for applications that manage large bodies of long-lived, shared, structured data. The project integrates programming language and database functionality to provide orthogonal data persistence, enabling the construction of more reliable data-intensive applications, but without compromising performance. Performance is obtained through application of modern compilation techniques to the problems of persistence, including static analysis and run-time profiling, to derive knowledge of application-specific behavior which can then be exploited by both the compiler, for program optimization, and the run-time system, for efficient data management.
Compass project goals include development, integration and evaluation of new language-independent compiler analyses and optimizations for persistence, with associated run-time strategies for persistent object management. These techniques are being evaluated experimentally through development of prototype persistent languages and systems, compilation of benchmark persistent applications, and measurement of application performance. The compilation and run-time strategies derive much of their power from treatment of the entire persistent application system, consisting of both stored persistent code and data, for "whole-application" analysis and optimization.
Our current prototype extends the DEC SRC Modula-3 implementation with orthogonal persistence.
Annual Research Report