There has been an increasing research interest in extending the use of java towards performance-oriented programming for distributed and concurrent applications. javaSymphony is a java-based programming paradigm that ...
详细信息
There has been an increasing research interest in extending the use of java towards performance-oriented programming for distributed and concurrent applications. javaSymphony is a java-based programming paradigm that allows the programmer to control parallelism, load balancing, and locality at a high level of abstraction. 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 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 inside of a javaSymphony program. 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 modifications of objects or virtual architectures. A sophisticated event mechanism for asynchronous communication, coordination, and interaction is provided. Several synchronization constructs including distributed barrier synchronization and synchronization for asynchronous method invocations have been included. Several experiments are presented to demonstrate the effectiveness and efficiency of javaSymphony. Copyright (c) 2005 John Wiley & Sons, Ltd.
In this paper, we introduce an agent-based infrastructure that provides software services and functions for developing and deploying high performance programming models and applications on clusters. A java-based proto...
详细信息
ISBN:
(纸本)0769517455
In this paper, we introduce an agent-based infrastructure that provides software services and functions for developing and deploying high performance programming models and applications on clusters. A java-based prototype, based on this architecture, has been developed. Since this system is written completely in java, it is portable and allows executing programs in parallel across multiple heterogeneous platforms. With the agent-based infrastructure, users need not deal with the mechanisms of deploying and loading user classes on the heterogeneous cluster. Moreover, details of scheduling, controlling, monitoring, and executing user jobs are hidden. In addition, the management of system resources is made transparent to the user. Such uniform services, when rendered available in a ubiquitous manner, are essential for facilitating the development and deployment of scalable high performance java applications on clusters. An initial deployment over a heterogeneous, distributed cluster results in significantly enhanced performance;absolute performance compared to C (MPI) improves with increased granularity of the algorithms.
暂无评论