Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Baude, F.C., Caromel, D., Morel, M.: From Distributed Objects to Hierarchical Grid Components. In: Meersman, R., Tari, Z., Schmidt, D.C. (eds.) CoopIS 2003, DOA 2003, and ODBASE 2003. LNCS, vol. 2888, pp. 1226–1242. Springer, Heidelberg (2003)
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)
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)
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)
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)
Hunt, G.C., Scott, M.L.: The Coign Automatic Distributed Partitioning System. In: 3rd Symposium on Operating Systems Design and Implementation (1999)
Parsa, S., Bousherian, O.: The Design and Implementation of a Framework for Automatic Modularization of Software Systems. Journal of Supercomputing 32(1) (January 2005)
Efficient Symbolic Analysis for Parallelizing Compilers and Performance Estimation. The Journal of Supercomputing 12(3), 227–252 (1998)
Suresh, D.C., Najar, W.A.: Profiling Tools for Hardware/Software Partitioning of Embeded Applications. In: Proc. ACM Symp. On LCTES (June 2003)
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-9
Zima, H.: Supercompilers for Parallel and Vector Computers. ACM Press, New York (1990)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Parsa, S., Khalilpoor, V. (2006). Automatic Distribution of Sequential Code Using JavaSymphony Middleware. In: Wiedermann, J., Tel, G., Pokorný, J., Bieliková, M., Štuller, J. (eds) SOFSEM 2006: Theory and Practice of Computer Science. SOFSEM 2006. Lecture Notes in Computer Science, vol 3831. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11611257_42
Download citation
DOI: https://doi.org/10.1007/11611257_42
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-31198-0
Online ISBN: 978-3-540-32217-7
eBook Packages: Computer ScienceComputer Science (R0)