Title :
JavaSymphony: a system for development of locality-oriented distributed and parallel Java applications
Author :
Fahringer, Thomas
Author_Institution :
Inst. for Software Sci., Wien Univ., Austria
Abstract :
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 this paper we describe JavaSymphony, a programming paradigm for distributed and parallel computing that provides a software infrastructure for wide classes of heterogeneous systems ranging from small-scale cluster computing to large scale wide-area meta-computing. The software infrastructure is written entirely in Java and runs on any standard compliant Java virtual machine. In contrast to most existing systems, JavaSymphony provides the programmer with the flexibility to control data locality and load balancing by explicit mapping of objects to computing nodes. Virtual architectures are specified to impose a virtual hierarchy on a distributed system of physical computing nodes. Objects can be mapped and dynamically migrated to arbitrary components of virtual architectures. A high-level API to hardware/software system parameters is provided to control mapping, migration, and load balancing of objects. Objects can interact through synchronous asynchronous and one-sided method invocation. Selective remote class loading may reduce the overall memory requirement of an application. Moreover; objects can be made persistent by explicitly storing and loading objects to/from external storage. A prototype of the JavaSymphony software infrastructure has been implemented. Preliminary experiments on a heterogeneous cluster of workstations are described that demonstrate reasonable performance values
Keywords :
Java; application program interfaces; workstation clusters; Java virtual machine; JavaSymphony; cluster of workstations; data locality; load balancing; locality-oriented; performance values; programming paradigm; Computer architecture; Concurrent computing; Control systems; Distributed computing; Error correction; Java; Load management; Parallel processing; Parallel programming; Programming profession;
Conference_Titel :
Cluster Computing, 2000. Proceedings. IEEE International Conference on
Conference_Location :
Chemnitz
Print_ISBN :
0-7695-0896-0
DOI :
10.1109/CLUSTR.2000.889023