Asynchronous parallel molecular dynamics simulations
PPAM'07 Proceedings of the 7th international conference on Parallel processing and applied mathematics
Euro-Par'10 Proceedings of the 16th international Euro-Par conference on Parallel processing: Part II
On the evaluation of java symphony for heterogeneous multi-core clusters
Euro-Par 2010 Proceedings of the 2010 conference on Parallel processing
Parallel computing in java: looking for the most effective RMI implementation for clusters
PPAM'05 Proceedings of the 6th international conference on Parallel Processing and Applied Mathematics
Automatic distribution of sequential code using javasymphony middleware
SOFSEM'06 Proceedings of the 32nd conference on Current Trends in Theory and Practice of Computer Science
Scheduling workflow distributed applications in javasymphony
Euro-Par'05 Proceedings of the 11th international Euro-Par conference on Parallel Processing
A methodology for developing and deploying distributed applications
CD'05 Proceedings of the Third international working conference on Component Deployment
Hi-index | 0.00 |
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 © 2005 John Wiley & Sons, Ltd.