Abstract
Java offers the basic
infrastructure needed to integrate computers connected to the Internet
into a seamless distributed computational resource: an infrastructure for running coarse-grained parallel applications
on numerous, anonymous machines. First, we sketch such a resource's
essential technical properties. Then, we present Javelin,
an infrastructure for global computing. The system is based on Internet
software that is interoperable, increasingly secure, and ubiquitous:
Java-enabled Web technology. Ease of participation is seen
as a key property for such a resource to realize the vision of a multiprocessing
environment comprising thousands of computers.
Javelin's architecture
and implementation require participants to have access to only a Java-enabled
Web browser.
The security constraints implied by this, the resulting architecture,
and the current implementation are presented.
The Javelin architecture
is intended to be a substrate on which various programming models may be
implemented.
Different computation servers, each corresponding to a different
programming model, are supported by Javelin's
architecture. Several
are presented briefly. Experimental results are given in the form
of micro-benchmarks,
a Mersenne Prime application, and a ray-tracing application
that run on a heterogeneous network of several
parallel machines, workstations,
and PCs.