Using Bytecode Instruction Counting as Portable CPU Consumption Metric

Walter Binder, Jarle Hulaas
2006 Electronical Notes in Theoretical Computer Science  
Accounting for the CPU consumption of applications is crucial for software development to detect and remove performance bottlenecks (profiling) and to evaluate the performance of algorithms (benchmarking). Moreover, extensible middleware may exploit resource consumption information in order to detect a resource overuse of client components (detection of denial-of-service attacks) or to charge clients for the resource consumption of their deployed components. The Java Virtual Machine (JVM) is a
more » ... redominant target platform for application and middleware developers, but it currently lacks standard mechanisms for resource management. In this paper we present a tool, the Java Resource Accounting Framework, Second Edition (J-RAF2), which enables precise CPU management on standard Java runtime environments. J-RAF2 employs a platform-independent CPU consumption metric, the number of executed JVM bytecode instructions. We explain the advantages of this approach to CPU management and present five case studies that show the benefits in different settings.
doi:10.1016/j.entcs.2005.10.032 fatcat:cbd7tzpuazcaxicocgvrm3azcq