SHF: Small: Collaborative Research: Explore, Understand, and Build a New Profiling Framework for Managed Language Virtual Machines
University Of Kansas Center For Research Inc, Lawrence KS
Investigators
Abstract
Program profiling is a fundamental and powerful technique to discover, understand and reason about the dynamic or run-time behavior of a program. Existing run-time systems (or Virtual Machines, VM) for managed languages vastly under-utilize the potential of profiling systems, which results in severe performance losses, and increases costs or curtails the suitability of VMs in many domains. The goal of this research is to understand and resolve the limitations that restrict the applicability and effectiveness of program profiling. The intellectual merits are to develop a complete understanding of the fundamental characteristics of program profiling, its limitations and its impact on the effectiveness of dependent optimizations, build a comprehensive and structured profiling framework to increase the efficiency and ease the adoption of profiling mechanisms during VM tasks, and set the stage for increased employment and realized benefits from adaptive optimizations in a VM. The project's broader significance and importance are to deploy managed run-time environments in diverse domains that include the web/Internet, desktop, server, cloud-computing, and mobile systems. The research aims to: (a) develop a deeper fundamental understanding of the benefits and limitations of different profiling strategies, and their impact on the effectiveness and performance of feedback-directed optimizations (FDOs), (b) conduct research and engineering that applies this understanding to develop new profiling mechanisms and machinery in the VM, and (c) construct higher-level predictive models that maximize the ease and benefit of using profile knowledge during VM tasks. To conduct this fundamental study, assess and demonstrate its observations, and show the benefits of more effective program profiling to improve existing VM optimizations, and to enable the creation of new adaptive VM optimizations, this work will employ three sets of real VM adaptive tasks: (a) selective compilation and feedback-directed optimizations to improve program speed, (b) heap memory management to increase performance and power efficiency, and (c) code cache management to maintain performance at lower memory utilization. This research promises to improve the performance and accessibility of managed language programs, which is very important for future computing systems as they provide an ideal programming platform in the face of growing software complexity, the best distribution format for portable Internet-based applications, and the most effective execution strategy for safe and secure execution of untrusted web services.
View original record on NSF Award Search →