Fourth IEEE International Conference on Cluster Computing (CLUSTER'02)
On the Evaluation of JavaSymphony for Cluster Applications
Chicago, Illinois
September 23-September 26
ISBN: 0-7695-1745-5
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 blocking/non-blocking remote method invocation is used to exchange data among distributed objects and to process work by remote objects. In this paper we evaluate the JavaSymphony programming API for a variety of distributed/parallel algorithms which comprises backtracking, N-body, encryption/decryption algorithms and asynchronous nested optimization algorithms. Performance results are presented for both homogeneous and heterogeneous cluster architectures. Moreover, we compare JavaSymphony with an alternative well-known semi-automatic system.
Citation:
Thomas Fahringer, Alexandru Jugravu, Beniamino Di Martino, Salvatore Venticinque, Hans Moritsch, "On the Evaluation of JavaSymphony for Cluster Applications," cluster, pp.394, Fourth IEEE International Conference on Cluster Computing (CLUSTER'02), 2002