Advertisement

Is Java Suitable for Portable High-Performance Computing?

Preliminary Reports on Benchmarking Different Java Platforms
  • Satoshi Matsuoka
  • Shigeo Itou
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1543)

Abstract

We are currently working on making Java a suitable portable platform for high-performance computing, based on our OpenJIT project[1]. This paper reports on some initial results in our benchmarking and performance analysis results. There, we found that traditional user-level optimizations for numerical computing such as stripmining, do not always properly apply due to unpredictability of both the JIT compiler and the VM sruntime. To be more specific, most traditional comilers for high-performance computing on RISC-based processors apply various optimization techniques to allow efficient scheduling of in-processor resources for fine-grained parallelism, and also to utilize the cache as much as possible to overcome the memory wall problem. However, it is not obvious whether such optimization techniques, especially those performed at the source-code level by the compiler or a user, will be effective for Java language implementations. Some of the potential problems could be largely categorized into language specification problems, compiler problems and the runtime problems (In the full paper we discuss the issues in more detail): aliasing of multi-dimensional arrays; array bounds-checking; intervention of stack-based bytecode; iompiler not tailored for high-performance computing; handling of exceptions; restricted space/time resources of JIT compilers; unpredictable memory allocation; overhead of multithreading; low performance of RMI; restrictions of VM-based execution; and ther reasons.

Keywords

Optimization Technique Programming Technique Language Specification Full Paper Memory Allocation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Satoshi Matsuoka et. al. “The OpenJIT Project”, Tokyo Institute of Technology, 1998, openjit.is.titech.ac.jp.Google Scholar
  2. 2.
    J. Dean et. al.: “Vortex: An Optimizing Compiler for Object-Oriented Langauges”, Proc. ACM OOPSLA, 1996, pp. 286–300.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Satoshi Matsuoka
    • 1
  • Shigeo Itou
    • 1
  1. 1.Dept. of Mathematical and Computing SciencesTokyo Inst. of TechnologyJapan

Personalised recommendations