A Javaspace is closely related to the
Jini architecture developed by
Sun Microsystems.
It's basically an (aggressively-marketed) tuple space.
Briefly, this involves a permanent, distributed storage location (the space) which holds objects (entries).
Multiple processes (workers) can connect to the space simultaneously.
Rather than communicating directly with each other as in TCP/IP sockets, processes move entries (which can be data or mobile Java code) in and out of this space.
Useful for anything that involves messaging distributed users, and more interestingly, compute servers.
Although slower, a Javaspace has a number of benefits over a Beowulf :
-
Since the workers are loosely coupled, you can add and remove workers without bringing down the space.
-
Workers can be any machine that runs Java.
-
The same space can be reused for many different problems (raytracing, cryptanalysis); Beowulfs tend to
be custom-built.