Task Farm Computations in Java
We describe an experiment in the development of an efficient Java support for task farm computations. The support allows Java programmers to rapidly develop parallel task farm applications starting from the plain sequential code. The target architecture we considered during the development of the support is a cluster of Unix workstations. We show experimental results that demonstrate the feasibility of the approach and we discuss the performance of this Java task farm support used on a typical workstation cluster. The task farm support discussed here is the first step towards the implementation of a full skeleton based parallel programming environment in Java.
KeywordsTask farm cluster computing skeletons load balancing
Unable to display preview. Download preview PDF.
- 1.The Beowulf Project. http://www.beowulf.org.
- 2.M. Aldinucci and M. Danelutto. Stream parallel skeleton optimisations, Proc. of the Eleventh IASTED International Conference Parallel and Distributed Computing and Systems, pages 955–962, November 1999. MIT Boston, USA.Google Scholar
- 3.P. Au, J. Darlington, M. Ghanem, Y. Guo, H.W. To, and J. Yang. Co-ordinating heterogeneous parallel computation. In L. Bouge, P. Fraigniaud, A. Mignotte, and Y. Robert, editors, Europar’ 96, pages 601–614. Springer-Verlag, 1996.Google Scholar
- 5.M. Baker and R. Buyya. Cluster Computing at a Glance. In Rajkumar Buyya, editor, High Performance Cluster Computing, pages 3–47. Prentice Hall, 1999.Google Scholar
- 9.M. Cole. Algorithmic Skeletons: Structured Management of Parallel Computations. Research Monographs in Parallel and Distributed Computing. Pitman, 1989.Google Scholar
- 10.M. Danelutto. Dynamic Run Time Support for Skeletons. In Proceedings of the PARCO’99 Conference, August 1999. Delft, The Netherlands.Google Scholar
- 11.High Performance FORTRAN Forum. High Performance FORTRAN Language Specification. Technical Report Rice University, Houston, TX, January 1997.Google Scholar
- 12.M. Gimbel, M. Philippsen, B. Haumacher, P. C. Lockemann, and W. F. Tichy. Java ad a Basis for Parallel Data Mining in Worlstation Clusters. In P. Sloot, M. Bubak, A. Hoekstra, and B. Hertzberger, editors, Proceedings of HPCN’99 Conference, pages 884–894. Springer Verlag, 1999. LNCS No. 1593.Google Scholar
- 13.D. C. Hyde. Java and Different Flavors of Parallel Programming Models. In Rajkumar Buyya, editor, High Performance Cluster Computing, pages 274–290. Prentice Hall, 1999.Google Scholar
- 14.P. Launay and J. L. Pazat. A Framework for Parallel Programming in Java. In P. Sloot, M. Bubak, and B. Hertzberger, editors, Proceedings of the HPCN’98 Conference, pages 628–637. Springer Verlag, LNCS, 1998.Google Scholar
- 15.M. Migliardi and V. Sunderam. Networking Performance for Metacomputing in Java. In Proc. of the IASTED International Conference on Parallel and Distributed Computing and Systems, pages 220–225, November 1999. MIT Boston, U.S.A.Google Scholar
- 16.P. S. Pacheco. Parallel Programming with MPI. Morgan Kaufmann, 1997.Google Scholar
- 17.S. Pelagatti. Structured Development of Parallel Programs. Taylor & Francis, 1998.Google Scholar
- 18.M. P. Pletzbert and R. K. Cytron. Does “Just in Time” = “Better Late than Never”. In Proceedings of the POPL’97: The 24th ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, pages 120–131, 1997.Google Scholar
- 19.J. Serot, D. Ginhac, and J.P. Derutin. SKiPPER: A Skeleton-Based Parallel Programming Environment for Real-Time Image Processing Applications. In Proceedings of the 5th International Parallel Computing Technologies Conference (PaCT-99), September 1999.Google Scholar
- 20.L. M. Silva. Web-Based Parallel Computing with Java. In Rajkumar Buyya, editor, High Performance Cluster Computing, pages 310–326. Prentice Hall, 1999.Google Scholar
- 23.B. Wilkinson and M. Allen. Parallel Programming. Techniques and Applications Using Networked Workstations and Parallel Computers. Prentice Hall, 1999.Google Scholar