-
High
Performance Java
Definition of a
Java extension to support data parallel programming. The basic extensions
include distributed arrays, data parallel distributed loops, and a set
of communication primitives [PostScript].
Basicament el
que defineixen es una extensio al Java per a donar suport a operacions
amb arrays multidimensionals i distribuits (data parallel programming).
La sintaxi que utilitzen sembla intuitiva per algu que no ha programat
mai amb paral.lelisme de dades; pero resulta molt empalagosa si estas acostumat
a llenguatges tals com Fortran-90, HPF, and so on.
-
Experiments
with HPJava
Several experiments
are performed to evaluate Java as a natural candidate for portable parallel
programming language. These cover socket programming, message-passing (MPI),
and class libraries for data-parallel programming [expHPJ].
They also provide and evaluate a programming model (extending Java, Fortran,
and C++) that is a flexible hybrid of the data-parallel, language-oriented,
HPF style, and SPMD style. This is refered as the HPspmd model [hpspmd].
Some other discussions and proposals [java4parprog,
java4simulat].
-
Level
1 BLAS in Java
They propose to
extend Java with some mathematical primitives to improve the performance
of certain operations while mantaining portability. On parallel systems,
this is achieved by exploiting the multi-threading mechanism [PostScript].
-
Titanium:
A High Performance Java Dialect
Titanium is a languaje
and system for high-performance parallel scientific computing. Titanium
is Java with support to multi-dimensional arrays, and programs are explicit
parallel SPMD with a global address space [PostScript].
-
Spar:
A Language for Semi-automatic Parallel Compilation
Spar is a programming
language for semi-automatic parallel programming, in particular for array-based
applications. Spar is a superset of Java, extending it with constructs
for parallel programming and support for array manipulation [PostScript].
-
High
Performance Parallel Programming with Java Libraries
They propose to
exploit massive parallelism by binding native standard libraries to Java.
These libraries include: MPI, BLAS, BLACS, PBLAS and ScaLAPACK [PostScript].
JavaMPI is their effort to bind Java programs to the native MPI library
for running on distributed-memory machines.
-
SPMD
Programming in Java
They analyze the
suitability of Java concurrent constructs to write high-performance SPMD
code for distributed-memory parallel machines. Their conclusion is that
efficient implementations are feasible, although they propose a library
of Java methods to ease SPMD programming [ibm_spmd].
-
Java
Language for HPC
In their study they
discuss some techniques for using Java in scientific and engineering applications.
They review some relevant features of the language and study how Java-based
developments can help scientific application developers [PostScript].
-
Java
as a Front-End to HPC
This is a study
of Java as a front-end language for high-performance systems running native
code. Severeal approaches are analyzed to provide powerful back-end services
to Java client programs (remote shell, PRC, RMI, network access mechanism
from Java, and some other research projects) [PostScript].
-
Other
proposals: Java for (non-parallel) numerical applications
Includes some proposals
that cope with numerical precission, and numerical libraries.