Scientific Computation with JavaSpaces

JavaSpaces provides a simple yet expressive mechanism for distributed computing with commodity technology. We discuss the suitability of JavaSpaces for implementing different classes of concurrent computations based on low-level metrics (null messaging and array I/O), and present performance results for several parametric algorithms. We found that although inefficient for communication intensive problems, JavaSpaces yields good speedups for parametric experiments, relative to both sequential Java and C. We also outline a dynamic native compilation technique, which for short, compute-intensive codes further boosts performance without compromising Java portability or extensive algorithm recoding. Discussion and empirical results are presented in the context of our public benchmark suite.

[1]  David E. Culler,et al.  Jaguar: enabling efficient communication and I/O in Java , 2000 .

[2]  Katherine Yelick,et al.  Titanium: a high-performance Java dialect , 1998 .

[3]  Ken Arnold,et al.  JavaSpaces¿ Principles, Patterns, and Practice , 1999 .

[4]  Tobin J. Lehman,et al.  T Spaces : The Next Wave , 2004 .

[5]  Nicholas Carriero,et al.  Distributed data structures in Linda , 1986, POPL '86.

[6]  Samuel P. Midkiff,et al.  A Standard Java Array Package for Technical Computing , 1999, PPSC.

[7]  S. A. Prahl,et al.  A Monte Carlo model of light propagation in tissue , 1989, Other Conferences.

[8]  Nicholas Carriero,et al.  How to write parallel programs: a guide to the perplexed , 1989, CSUR.

[9]  Michael Philippsen,et al.  More efficient serialization and RMI for Java , 2000 .

[10]  Stoyanka D. Zlateva,et al.  Distributed Scientific Computation With JavaSpaces , 2001 .

[11]  Michael Stuart,et al.  Understanding Robust and Exploratory Data Analysis , 1984 .

[12]  V. Barnett,et al.  Applied Linear Statistical Models , 1975 .

[13]  T. Mustelin,et al.  The next wave: protein tyrosine phosphatases enter T cell antigen receptor signalling. , 1999, Cellular signalling.

[14]  Debasish Ghose,et al.  Scheduling Divisible Loads in Parallel and Distributed Systems , 1996 .

[15]  Samuel P. Midkiff,et al.  Efficient support for complex numbers in Java , 1999, JAVA '99.

[16]  Jason Maassen,et al.  Wire-area parallel computing in Java , 1999, JAVA '99.