Enabling Java for High-Performance Computing: Exploiting Distributed Shared Memory and Remote Method Invocation
Java has become increasingly popular as a general-purpose programming language. Current Java implementations mainly focus on portability and interoperability, which is required for Internet-centric client/server computing. Key to Java's success is its intermediate "Bytecode" representation that can be exchanged and executed by Java Virtual Machines (JVMs) on almost any computing platform. Along with Java's widespread use, the need for a more efficient execution mode has become apparent. For sequential execution, Just-In-Time (JIT) compilers improve application performance. However, high-performance computing typically requires multiple-processor systems, so efficient interprocessor communication is needed in addition to efficient sequential execution.