JavaSymphony: New Directives to Control and Synchronize Locality, Parallelism, and Load Balancing for Cluster and GRID-Computing
There has been an increasing research interest in extending the use of Java towards performance-oriented programming for distributed and concurrent applications. Numerous research projects have introduced class libraries or language extensions for Java in order to support automatic management of locality, parallelism and load balancing which is almost entirely under the control of a runtime system and frequently results in critical performance problems. In previous work we described JavaSymphony to substantially alleviate this problem. JavaSymphony is a Java class library that allows the programmer to control parallelism, load balancing, and locality at a high level. Objects can be explicitly distributed and migrated based on a high-level API to static/dynamic system parameters and dynamic virtual distributed architectures which impose a virtual hierarchy on a distributed system of physical computing nodes. In this paper we describe various important extensions to the original JavaSymphony API which includes a generalization of virtual architectures that can be used to specify and to request arbitrary heterogeneous distributed and concurrent architectures. The number of threads that execute an object's methods can be controlled dynamically through single- and multi-threaded objects. Conventional Java objects can be dynamically converted to JavaSymphony objects. A (un)lock mechanism has been introduced in order to avoid inconsistent modification of objects or virtual architectures. A sophisticated event mechanism for asynchronous communication, coordination, and interaction is provided. Several synchronization constructs including barrier synchronization and synchronization for asynchronous method invocations have been included. Experiments are presented to demonstrate the effectiveness and efficiency of JavaSymphony.
Top- Jugravu, Alexandru
- Fahringer, T.
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 |