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.