On the Evaluation of JavaSymphony for Cluster Applications

On the Evaluation of JavaSymphony for Cluster Applications

Abstract

In the past few years, increasing interest has been shown in using Java as a language for performance-oriented distributed and parallel computing. Most Java-based systems that support portable parallel and distributed computing either require the programmer to deal with intricate low-level details of Java which can be a tedious, time-consuming and error-prone task, or prevent the programmer from controlling locality of data. In contrast to most existing systems, JavaSymphony -- a class library written entirely in Java -- allows to control parallelism, load balancing, and locality at a high level. Objects can be explicitly distributed and migrated based on virtual architectures which impose a virtual hierarchy on a distributed/parallel system of physical computing nodes. The concept of remote method invocation is used to exchange data among distributed objects and to process work by remote objects. In this paper we discuss an implementation of the JavaSymphony middleware which is based on an agent based system. We have extensively tested the suitability of JavaSymphony programming API for a variety of algorithms which comprises branch and bound, backtracking, n-body, and encryption/decryption algorithms. Performance results are presented for both homogeneous and heterogeneous cluster architectures.

Grafik Top
Authors
  • Jugravu, Alexandru
  • Fahringer, T.
  • Di Martino, B.
  • Moritsch, H.
  • Venticinque, S.
Grafik Top
Shortfacts
Category
Technical Report (Technical Report)
Divisions
Scientific Computing
Publisher
Institute for Software Science, University of Vienna
Date
January 2002
Official URL
http://www.par.univie.ac.at/publications/download/...
Export
Grafik Top