Next: Interpreted Environments.
Up: Java and High-Performance Computing
Previous: Performance.
To discuss parallel Java, we consider four forms of parallelism seen
in applications.
-
Data Parallelism. By data parallelism we mean large-scale =
parallelism
found from parallel updates of grid points, particles, and other basic
components in scientific computations (see
Chapter ). Such parallelism is supported in Fortran
by either high-level data parallel HPF or, at a lower level, Fortran
plus message passing. Java has no built-in parallelism of this type,
but the lack of pointers means that natural parallelism is less likely
to be obscured. There seems no reason why Java cannot be extended to
high-level data-parallel form (HPJava) in a similar way to Fortran
(HPF) or C++ (HPC++). Such an extension can be done by using threads
on shared-memory machines, while in distributed-memory machines,
message passing may be used.
-
Modest-Grain Functional Parallelism. Functional parallelism
refers to the
Functional parallelism arises when...
type of parallelism used when computation and I/O operations are
overlapped, a situation exploited extensively by Web browsers. This
parallelism is built into the Java language with threads but has to be
added explicitly with libraries for Fortran and C++.
-
Object Parallelism. Object parallelism is quite natural for C++ =
or Java. Java
can use the applet mechanism to represent objects portably.
-
Metaproblem Parallelism. Metaproblem parallelism occurs in
applications
that are made up of several different subproblems, which themselves
may be sequential or parallel.
Theresa Canzian
Fri Mar 13 01:17:33 EST 1998