Automatic Distribution of Sequential Code Using JavaSymphony Middleware
In this paper the design and implementation of a framework, called jDistributor, for automatic conversion of sequential code into distributed program code is described. Optimal distribution of the program code is attained by applying a specific hierarchical clustering algorithm to partition the code into components with almost the same amount of speed up. To speed up the execution of the components, inter-component method calls are converted into non-blocking remote calls, when appropriate. All the inter-component remote calls are carried out through a component, called Proxy. The Proxy uses an Object Manager component to construct remote objects. A component called Synchronizer receives the values of reference parameters and the return value from remote methods. All the inter-component communications are handled by a connector component, which is based on a javaSymphony infrastructure.
Unable to display preview. Download preview PDF.
- 2.Aridor, Y., Teperman, M.F.A.: cJVM: a Cluster Aware JVM. In: Proceedings of the First Annual Workshop on Java for High-Performance Computing in Conjunction with the 1999 ACM International Conference on Supercomputing (ICS), Rhodes, Greece, June 20 (1999)Google Scholar
- 3.Haumacher, B., Moschny, T., Reuter, J., Tichy, W.F.: Transparent Distributed Threads for Java. In: IPDPS 2003, Nice, France, April 22-26. IEEE Computer Society, Los Alamitos (2003)Google Scholar
- 5.Jugravu, A., Fahringer, T.: JavaSymphony: A New Programming Paradigm to Control and to Synchronize Locality, Parallelism and Load Balancing for Parallel and Distributed Computing. Concurrency and Computation: Practice and Experience: Concurrency Commutate: Pract.Exper (2000)Google Scholar
- 6.Fahringer, T.: JavaSymphony: A System for Development of Locality-Oriented Distributed and Parallel Java Applications. In: IEEE Intl. Conf. on Cluster Computing, CLUSTER 2000, Chemnitz, Germany (December 2000)Google Scholar
- 7.Hunt, G.C., Scott, M.L.: The Coign Automatic Distributed Partitioning System. In: 3rd Symposium on Operating Systems Design and Implementation (1999)Google Scholar
- 8.Parsa, S., Bousherian, O.: The Design and Implementation of a Framework for Automatic Modularization of Software Systems. Journal of Supercomputing 32(1) (January 2005)Google Scholar
- 9.Efficient Symbolic Analysis for Parallelizing Compilers and Performance Estimation. The Journal of Supercomputing 12(3), 227–252 (1998)Google Scholar
- 10.Suresh, D.C., Najar, W.A.: Profiling Tools for Hardware/Software Partitioning of Embeded Applications. In: Proc. ACM Symp. On LCTES (June 2003)Google Scholar
- 11.Arnold, G.M.: Cluster Analysis. In: Everitt, B.S., Landau, S., Leese, M. (eds.), 4th edn., London, Arnold, pp. viii + 238 (2001); £40.00 ISBN 0-340-76119-9Google Scholar
- 12.Zima, H.: Supercompilers for Parallel and Vector Computers. ACM Press, New York (1990)Google Scholar