Experiences in Designing a System to Control Dynamic Program Transformations
Author : Jochen, Mike; Pollock, Lori L.; Marvel, Lisa M.
Booktitle : Spring Conference of the Pennsylvania Computer and Information Science Educators (PACISE)
Date : Apr 2011
Keyword(s) : mobile code, dynamic optimization
Document Type : In Conference Proceedings
Adaptive program optimization during execution can provide appreciable performance boost with respect to the possibly changing runtime characteristics of the program (e.g., runtime input and state). This approach can generate a much more highly-tuned version of a program than that produced by the traditional static compilation/optimization paradigm. For clusters of networked hosts, performing the steps of adaptive optimization in task-parallel can provide even greater performance gains. Applications often execute in untrusted network environments. Distributed, dynamic program transformation within this type of environment can introduce the same security concerns that exist when allowing mobile code to run on local hosts. Before adopting dynamic program transformation technology in an untrusted environment, one must first validate the transformations that are to be applied to the program. Failure to do so could result in catastrophic loss or damage to system resources. For this reason, there must exist a way for a host to accept/reject dynamic transformations that are to be applied to a program. The decision to accept or reject program transformations must be based on a well-defined program policy. This paper describes our experiences in designing a system to control dynamic program transformations.