X hits on this document

PDF document

Program Transformations for Light-Weight CPU Accounting and Control in the Java Virtual Machine A ... - page 1 / 40





1 / 40

Program Transformations for Light-Weight CPU Accounting and Control in the Java Virtual Machine A Systematic Review

Jarle Hulaas School of Computer and Communication Sciences Ecole Polytechnique Fe´de´rale de Lausanne (EPFL) CH–1015 Lausanne, Switzerland (jarle.hulaas@acm.ch)

Walter Binder Faculty of Informatics University of Lugano CH–6904 Lugano, Switzerland (walter.binder@unisi.ch)


This article constitutes a thorough presentation of an original scheme for portable CPU accounting and control in Java, which is based on program transformation techniques at the bytecode level and can be used with every standard Java Virtual Machine. In our approach applications, middleware, and even the standard Java runtime libraries (i.e., the Java Development Kit) are modified in a fully portable way, in order to expose details regarding the execution of threads. These transfor- mations however incur a certain overhead at runtime. Further contributions of this article are the systematic review of the origin of such overheads and the description of a new static path prediction scheme targeted at reducing them.

Keywords: Java, Resource Management, Bytecode Engineering, Program Trans- formations

1. Introduction

Resource management (i.e., accounting and controlling the consump- tion of resources, such as CPU and memory) is extremely useful for monitoring deployed software. Run-time monitoring of server systems is important to quickly detect performance problems and to tune the system according to the workload. Resource management also is a pre- requisite to prevent malicious or accidental resource overuse, such as denial-of-service attacks, in extensible middleware that allows hosting of foreign, untrusted software components. In commercial application servers, providers may charge their clients for the resources consumed by executed software components; the corresponding contracts should then state the maximal quantities of computing resources that the client is allowed to use, preferably in terms of platform-independent metrics

Published in the Journal of Higher-Order and Symbolic Computing (HOSC), 2008. Article DOI: 10.1007/s10990-008-9026-4

  • 2008 Springer Science+Business Media, LLC. The original publication is

available at http://www.springerlink.com/content/u3600t4m13480u22/

Document info
Document views138
Page views138
Page last viewedThu Jan 19 11:43:39 UTC 2017