CSE 598c - PowerPoint PPT Presentation

1 / 12
About This Presentation
Title:

CSE 598c

Description:

Alias analysis Inlining Variable elimination Memory locality improvement Parallel ... On the Design of the Local Variable Cache in a Hardware Translation-Based Java ... – PowerPoint PPT presentation

Number of Views:93
Avg rating:3.0/5.0
Slides: 13
Provided by: Sandra364
Learn more at: https://www.cse.psu.edu
Category:
Tags: 598c | cse | memory | translation

less

Transcript and Presenter's Notes

Title: CSE 598c


1
CSE 598c Virtual Machines Survey
ProposalImproving Performance for the
JVMSandra Rueda
2
Motivation
  • Java Programs are widely used
  • Performance is a big issue
  • Execution time for Java Programs may be improved
  • What options are related to the JVM?

3
JVM - Architecture Overview
runtime data areas
Execution engine
Class loader subsystem
methods
heap
Native method interface
registers

4
JVM - Execution Techniques
Java Bytecode
Java Bytecode
Interpretation
Compilation
JVM Platform Specific
JVM Platform Specific
Execution
Execution
Platform (Hardware)
Platform (Hardware)
  • Interpretation and compilation have the usual
    advantages and trade-offs flexibility vs.
    performance.

5
JVM - Execution Techniques (2)
Java Bytecodes
Java Bytecodes
JIT Compilers
Interpretation
JVM Platform Specific
JVM Platform Specific
Execution
Java Processor (Hardware)
Platform (Hardware)
  • JIT compilers also exhibit the traditional
    advantages and trade-offs.
  • The Java Processor represents a different
    approach.

6
Java Proposed Optimizations (1)
  • Bytecode optimization. Code optimization is a
    technique used in multiple environments.
  • Alias analysis
  • Inlining
  • Variable elimination
  • Memory locality improvement
  • Parallel and distributed execution techniques
  • Multithreading It depends on application
    parallelism

7
Java Proposed Optimizations (2)
  • Dynamic compilation
  • Online profiling - Hotspots
  • Offline profiling
  • Hybrid
  • Thread synchronization
  • Monitor implementation
  • Thin/fat locks

is it related to JVM?
8
Java Proposed Optimizations (3)
  • Remote method invocation
  • Object serialization
  • Resource management
  • Garbage collector
  • Generational
  • Pretenuring (long-lived object regions)
  • Concurrent collector

is it related to JVM?
9
Java Proposed Optimizations (4)
  • Stack based architecture
  • register based architecture
  • Hardware translation
  • Local-variable cache
  • Adapting branch target buffer

is it related to JVM?
10
Topics to include in the survey
  • Dynamic Compilation Hotspots
  • Thread Synchronization
  • RMI
  • Garbage Collector
  • Register Based Architecture
  • Hardware Translation

11
References Initial Version
  • Barabash et al. A parallel, incremental, mostly
    concurrent garbage collector for servers. OOPSLA,
    2003.
  • Blackburn et al. Pretenuring for Java. OOPSLA,
    2001.
  • Czajkowski et al. Multitasking without
    comprimise a virtual machine evolution. OOPSLA,
    2001.
  • Kazi et al. Techniques for obtaining high
    performance in Java programs. ACM Computing
    Surveys, 2000.
  • Levanoni et al. An On-the-Fly
    Reference-Counting Garbage Collector for Java.
    ACM Transactions on Programming Languages and
    Systems, 2006.

12
References Initial Version
  • Li et al. Adapting Branch-Target Buffer to
    Improve the Target Predictability of Java Code.
    ACM Transactions on Architecture and Code
    optimization, 2005.
  • Oi On the Design of the Local Variable Cache in
    a Hardware Translation-Based Java Virtual
    Machine. LCTES, 2005.
  • Radhakrishnan et al. Improving Java Performance
    Using Hardware Translation. ICS 2001.
  • Sandya Jazzing up JVMs with off-line profile
    data does it pay? ACM SIGPLAN, 2004.
  • Suganuma et al. A Dynamic Optimization
    Framework for a Java Just-in-Time Compiler.
    OOPSLA, 2001.
Write a Comment
User Comments (0)
About PowerShow.com