\section{Conclusions}
\label{summary}

We have designed and implemented Javelin, a prototype
infrastructure for Internet-based parallel computing using Java.  Javelin
allows machines connected to the Internet to make a portion of their idle
resources available to remote clients, while at other times utilize resources
from other machines when more computational power is needed.

In order to be successful,
an infrastructure for transforming the Web into an immense
parallel computing resource  must be flexible and easy to install and use.  
By requiring clients and hosts to have
access to only a Java-enabled Web browser, Javelin achieves ease of
participation: No OS or compiler modifications are needed and system
administrative costs are zero.
%Furthermore, the whole system implementation is based on an HTTP server and
%current Web technology.

We analyzed the limitations imposed by the security restrictions of most Web
browsers and showed how they influenced our design and implementation.  We
also discussed possible extensions of HTTP servers which allow efficient
implementations of parallel programming paradigms.
%To extend the functionality of the Javelin system, we provide a parallel
%programming language layer which offers support for the SPMD programming
%model and Linda Tuple Space from within an applet.
Finally, we presented micro-benchmarks and experimental results for two
coarse-grain, compute-intensive applications: a raytracer and
a Mersenne primality test.  For both applications we achieved good
speedups on Javelin.
% 
% JIT compilers make the differences between Java and C versions to become less
% of a performance issue.  
%
We expect that future versions of Javelin will see a
performance boost due to optimized JIT compilers.

Overall, we believe that Javelin can be used successfully for Internet-based
parallel computation, and future versions will address the remaining challenges,
such as fault tolerance, result verification, and client privacy.

%Thus, participation-costs for clients and hosts are a fraction of
%those incurred by NOW users.  Participation may be further encouraged
%by providing hosts with benefits (e.g., digital cash, or bartering
%computer resources). The construction of such exchange mechanisms can
%be undertaken with the tools provided by Javelin.

%Demonstrated its flexibility reg
%Other issues need to be addressed: correctness of results,
%scalability, fault-tolerance, privacy of client data.  We believe that
%Javelin is a good base on which to build these properties, as well as
%a thorough library that conveniently implements various parallel
%programming models. 

%Measurements show that JIT compilations will dramatically increase the
%feasibility of this approach (see last 2 bars of fig. ??).
