Corpus ID: 14596109

Introspection of a Java™ virtual machine under simulation

@inproceedings{Wright2006IntrospectionOA,
  title={Introspection of a Java{\texttrademark} virtual machine under simulation},
  author={G. Wright and P. McGachey and Erika Gunadi and M. Wolczko},
  year={2006}
}
Virtual machines are commonly used in commercially-significant systems, for example, Sun Microsystems' Java and Microsoft's .NET. The virtual machine offers many advantages to the system designer and administrator, but complicates the task of workload characterization: it presents an extra abstraction layer between the application and observed hardware effects. Understanding the behavior of the virtual machine is therefore important for all levels of the system architecture. We have… Expand
Maxine: An approachable virtual machine for, and in, java
TLDR
The Maxine VM, a metacircular Java VM implementation, has aggressively used these features since its inception and a co-designed companion tool, the Maxine Inspector, offers integrated debugging and visualization of all aspects of the VM's runtime state. Expand
MaxSim: A simulation platform for managed applications
TLDR
MaxSim is able to simulate fast and accurately managed workloads running on top of Maxine VM and its capabilities are showcased with novel simulation techniques for low-intrusive microarchitectural profiling via pointer tagging on the x86-64 platforms, and modeling of hardware extensions related, but not limited to, tagged pointers. Expand
System-wide profiling and optimization with virtual machines
TLDR
A framework is prototyped and case studies showed that the information provided by the tools are useful for software optimization and system design for Android smartphones and multiple sets of the performance and energy models can be selectively used to verify if the speed of the simulated system impacts the software behavior. Expand
SimSight: A Virtual Machine Based Dynamic Call-Graph Generator
TLDR
SimSight, a framework to capture dynamic call graphs in Simics, which is a widely adopted commercial full-system simulator, is proposed to generate dynamic call-graphs of statically and dynamically linked functions in x86/Linux environment. Expand
Performance and power profiling for emulated Android systems
TLDR
VPA takes advantage of an existing emulator or virtual machine monitor to reduce the complexity of building a simulator and allows the user to selectively and incrementally integrate timing models and power models into the emulator with carefully designed performance/power monitors, tracing facility, and profiling tools to evaluate and analyze the emulated system. Expand
Full-System Simulation from Embedded to High-Performance Systems
This chapter describes use cases for and benefits of full-system simulation, based on more than a decade of commercial use of the Simics simulator. Simics has been used to simulate a wide range ofExpand
Live Introspection of Target-Agnostic JIT in Simulation
TLDR
A debugging system is described wherein an outer Smalltalk running on a real machine interacts with a GEM5 simulation of an inner Smalltalk to understand the behavior of a target-agnostic JIT prototype. Expand

References

SHOWING 1-10 OF 24 REFERENCES
Using complete system simulation to characterize SPECjvm98 benchmarks
TLDR
The Java code is see to limit exploitable parallelism and aggressive instruction issue is seen to be less efficient for SPECjvm98 benchmarks in comparison to SPEC95 programs. Expand
Analysis of Virtual Machine Stack Frame Usage by Java Methods
TLDR
Dynamic measurements of parameter size, parameter and return types, temporary variable size and operand stack size were made for every method call during the execution of both program and API (Application Programming Interface) methods for the test suite studied. Expand
The HotSpot Serviceability Agent: An Out-of-Process High-Level Debugger for a JavaTM Virtual Machine
  • K. Russell, Lars Bak
  • Computer Science
  • Java Virtual Machine Research and Technology Symposium
  • 2001
TLDR
The design and implementation of the HotSpotTM Serviceability Agent is described, comparing it to other debugging systems for both statically compiled and dynamic languages, and future directions for this architecture are illustrated. Expand
Java Runtime Systems: Characterization and Architectural Implications
TLDR
The architectural issues explored in this study show that, when Java applications are executed with a JIT compiler, selective translation using good heuristics can improve performance, but the saving is only 10-15 percent at best, and reveals revealing insights and architectural proposals for designing an efficient Java runtime system. Expand
Characterizing the memory behavior of Java workloads: a structured view and opportunities for optimizations
TLDR
It is found that co-allocation of frequently used method tables can reduce the number of TLB misses and lower the cost of accessing type information block entries in virtual method calls and runtime type checking. Expand
The hotspot TM serviceability agent: an out-of-process high level debugger for a Java TM virtual machine
TLDR
The design and implementation of the HotSpotTM Serviceability Agent is described, comparing it to other debugging systems for both statically compiled and dynamic languages, and future directions for this architecture are illustrated. Expand
Vertical profiling: understanding the behavior of object-priented applications
TLDR
By incorporating vertical profiling into a programming environment, the programmer will be able to understand how their program interacts with the underlying abstraction levels, such as application server, VM, operating system, and hardware. Expand
Memory system behavior of Java programs: methodology and analysis
TLDR
This paper studies the memory system behavior of Java programs by analyzing memory reference traces of several SPECjvm98 applications running with a Just-In-Time (JIT) compiler and finds that the overall cache miss ratio is increased due to garbage collection, which suffers from higher cache misses compared to the application. Expand
Exploring processor design options for Java-based middleware
TLDR
A detailed characterization of two popular Java server benchmarks, ECperf and SPECjbb2000, and combines findings on available ILP in Java middleware with results from previous papers that characterize the availibility of TLP to investigate the optimal balance between ILP and TLP in CMPs. Expand
Simics: A Full System Simulation Platform
TLDR
Simics is a platform for full system simulation that can run actual firmware and completely unmodified kernel and driver code, and it provides both functional accuracy for running commercial workloads and sufficient timing accuracy to interface to detailed hardware models. Expand
...
1
2
3
...