An Evaluation of Java as a High Performance Computing Language through Jpetra: A Java Library for Distributed Memory Parallel Linear Algebra Computations

Document Type


Publication Date



Computer Sciences | Physical Sciences and Mathematics


Michael Heroux, Computer Science


The Java programming language and Sun Microsystems' Java Virtual Machine (JVM) provide a cross platform runtime environment that simplifies application development and deployment when compared to traditional natively compiled languages such as C++. Jpetra is a pure Java library for distributed memory parallel linear algebra computations that can be used to test the usefulness of Java as a high performance computing (HPC) language. Through my test results I will show that although Java does provide a promising platform for HPC computing, the way that Sun Microsystems' JVM is implemented makes optimizing Jpetra in a parallel environment challenging due to memory management issues. I will then provide recommendations for how I believe Jpetra should be modified to help alleviate the problems that hurt the performance of Jpetra caused by Sun Microsystems’ JVM’s memory management.