Large-scale parallel geophysical algorithms in Java; a feasibility study

The Java programming language is object‐oriented and offers language elements to express thread‐based parallelism and synchronization without additional system libraries. Data exchange between processors is easy because of its ability to force remote execution of subprograms via the integrated Remote Method Invocation (RMI). This allows parallel processing steps to be programmed on the application level, namely in the Java environment itself. Additionally, this parallelism is hardware independent—programs run immediately, without recompilation, on any major platform.