Extending standard java runtime systems for resource management

  • Authors:
  • Walter Binder;Jarle Hulaas

  • Affiliations:
  • Artificial Intelligence Laboratory, EPFL, Lausanne, Switzerland;Software Engineering Laboratory, EPFL, Lausanne, Switzerland

  • Venue:
  • SEM'04 Proceedings of the 4th international conference on Software Engineering and Middleware
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Resource management is a precondition to build reliable, extensible middleware and to host potentially untrusted user components. Resource accounting allows to charge users for the resource consumption of their deployed components, while resource control can limit the resource consumption of components in order to prevent denial-of-service attacks. In the approach presented here program transformations enable resource management in Java-based environments, even though the underlying runtime system may not expose information concerning the resource consumption of applications. In order to accurately monitor the resource utilization of Java applications, the application code as well as the libraries used by the application – in particular, the classes of the Java Development Kit (JDK) – have to be transformed for resource accounting. However, the JDK classes are tightly interwoven with the native code of the Java runtime system. These dependencies, which are not well documented, have to be respected in order to preserve the integrity of the Java platform. We discuss several hurdles we have encountered when rewriting the JDK classes for resource management, and we present our solutions to these problems. Performance evaluations complete this paper.