Skip to main content
Log in

Distributed Parallel Computing Using Navigational Programming

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

Message Passing (MP) and Distributed Shared Memory (DSM) are the two most common approaches to distributed parallel computing. MP is difficult to use, whereas DSM is not scalable. Performance scalability and ease of programming can be achieved at the same time by using navigational programming (NavP). This approach combines the advantages of MP and DSM, and it balances convenience and flexibility. Similar to MP, NavP suggests to its programmers the principle of pivot-computes and hence is efficient and scalable. Like DSM, NavP supports incremental parallelization and shared variable programming and is therefore easy to use. The implementation and performance analysis of real-world algorithms, namely parallel Jacobi iteration and parallel Cholesky factorization, presented in this paper supports the claim that the NavP approach is better suited for general-purpose parallel distributed programming than either MP or DSM.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

REFERENCES

  1. L. Pan, L. F. Bic, and M. B. Dillencourt, Distributed Sequential Computing Using Mobile Code: Moving Computation to Data, L. M. Ni and M. Valero (eds.), Proceedings of the 2001 International Conference on Parallel Processing (ICPP 2001), IEEE Computer Society, Los Alamitos, California, pp. 77-84 (September 2001).

    Google Scholar 

  2. L. Pan, L. F. Bic, M. B. Dillencourt, and M. K. Lai, Mobile Agents-The Right Vehicle for Distributed Sequential Computing, S. Sahni, V. K. Prasanna, and U. Shukla (eds.), Proceedings, 9th International Conference on High Performance Computing-HiPC 2002, Lecture Notes in Computer Science, Vol. 2552, Springer-Verlag, Berlin, Germany, pp. 575-584 (December 2002).

    Google Scholar 

  3. I. Pramanick, MPI and PVM Programming, R. Buyya (ed.), High-Performance Cluster Computing, Vol. 2, Programming and Applications, Prentice-Hall PTR, Upper Saddle River, N.J., pp. 48-86 (1999).

    Google Scholar 

  4. L. S. Blackford, J. Choi, A. Cleary, E. D'Azevedo, J. Demmel, I. Dhillon, J. Dongarra, S. Hammarling, G. Henry, A. Petitet, K. Stanley, D. Walker, and R. C. Whaley, ScaLAPACK Users' Guide, Society for Industrial and Applied Mathematics, Philadelphia, Pennsylvania (1997).

    Google Scholar 

  5. L. Pan, L. F. Bic, and M. B. Dillencourt, Shared Variable Programming Beyond Shared Memory: Bridging Distributed Memory with Mobile Agents, H. Ehrig, B. Kramer, and A. Ertas (eds.), Proceedings of the 6th International Conference on Integrated Design & Process Technology (IDPT-2002), Society for Design & Process Science, Grandview, Texas (June 2002).

    Google Scholar 

  6. L. F. Bic, M. Fukuda, and M. B. Dillencourt, Distributed Computing using Autonomous Objects, IEEE Computer, 29(8):55-61 (August 1996).

    Google Scholar 

  7. C. Wicke, L. F. Bic, M. B. Dillencourt, and M. Fukuda, Automatic State Capture of Self-Migrating Computations in Messengers, K. Rothermel and F. Hohl (eds.), Proceedings, Second International Conference on Mobile Agents, MA '98, Lecture Notes in Computer Science, Vol. 1477, Springer-Verlag, Berlin, Germany, pp. 68-79 (September 1998).

    Google Scholar 

  8. M. Fukuda, L. F. Bic, and M. B. Dillencourt, Messages versus Messengers in Distributed Programming, J. Parallel Distr. Com., 57:188-211 (1999).

    Google Scholar 

  9. E. Gendelman, Messengers User's Manual (version 2.1), Information & Computer Science, University of California, Irvine, Irvine, California (2001).

    Google Scholar 

  10. D. Chess, C. Harrison, and A. Kershenbaum, Mobile Agents: Are They a Good Idea?, J. Vitek and C. Tschudin (eds.), Selected Presentations and Invited Papers, Second International Workshop on Mobile Object Systems, MOS '96, Lecture Notes in Computer Science, Vol. 1222, Springer-Verlag, Berlin, Germany, pp. 25-47 (July 1997).

    Google Scholar 

  11. A. Fuggetta, G. P. Picco, and G. Vigna, Understanding Code Mobility, IEEE Transactions on Software Engineering, 24(5):342-361 (May 1998).

    Google Scholar 

  12. D. B. Lange and M. Oshima, Seven Good Reasons for Mobile Agents, Commun. ACM, 42(3):88-89 (March 1999).

    Google Scholar 

  13. D. Milojicic, Trend Wars: Mobile Agent Applications, IEEE Concurency, 7(3):80-90 (July-Sept. 1999).

    Google Scholar 

  14. R. S. Gray, D. Kotz, G. Cybenko, and D. Rus, Mobile Agents: Motivations and State-of-the-Art Systems, Technical Report TR2000-365, Dartmouth College, Hanover, New Hampshire (April 2000).

    Google Scholar 

  15. L. Bettini and R. De Nicola, Translating strong mobility into weak mobility, G. P. Picco (ed.), Proceedings, 5th International Conference on Mobile Agents, MA 2001, Lecture Notes in Computer Science, Vol. 2240, Springer-Verlag, Berlin, Germany, pp. 182-197 (December 2001).

    Google Scholar 

  16. D. Kotz, R. Gray, and D. Rus, Future Directions for Mobile Agent Research, IEEE Distributed Systems Online, 3(8) (2002).

  17. C. Wicke, Implementation of an Autonomous Agents System, Master's thesis, Dept. of Information and Computer Science, University of California, Irvine, Irvine, California (September 1998).

    Google Scholar 

  18. E. Gendelman, L. F. Bic, and M. B. Dillencourt, Fast File Access for Fast Agents, G. P. Picco (ed.), Proceedings, 5th International Conference on Mobile Agents, MA 2001, Lecture Notes in Computer Science, Vol. 2240, Springer-Verlag, Berlin, Germany, pp. 88-102 (December 2001).

    Google Scholar 

  19. R. Morgan, Building an Optimizing Compiler, Butterworth-Heinemann, Boston, Massachusetts (1998).

    Google Scholar 

  20. C. Leopold, Parallel and Distributed Computing: A Survey of Models, Paradigms, and Approaches, John Wiley & Sons, New York (2001).

    Google Scholar 

  21. V. Kumar, A. Grama, A. Gupta, and G. Karypis, Introduction to Parallel Computing: Design and Analysis of Algorithms, Benjamin Cummings, Redwood City, California (1994).

    Google Scholar 

  22. E. Markatos and T. LeBlanc, Load Balancing vs. Locality Management in Shared-Memory Multiprocessors, Technical Report 399, Computer Science Department, University of Rochester, Rochester, New York (October 1991).

    Google Scholar 

  23. G. Burns, R. Daoud, and J. Vaigl, LAM: An Open Cluster Environment for MPI, J. W. Ross (ed.), Proceedings of Supercomputing Symposium, pp. 379-386 (1994).

  24. J. M. Squyres and A. Lumsdaine, A Component Architecture for LAM/MPI, Proceedings, 10th European PVM/MPI Users' Group Meeting, Lecture Notes in Computer Science, Vol. 2840, Springer-Verlag, Berlin, Germany (2003).

    Google Scholar 

  25. W. L. Briggs, A Multigrid Tutorial, Society for Industrial and Applied Mathematics, Philadelphia, Pennsylvania (1987).

    Google Scholar 

  26. G. H. Golub and C. F. Van Loan, Matrix Computations, 3rd edn., Johns Hopkins University Press, Baltimore, Maryland (1996).

    Google Scholar 

  27. W. W. Carlson, J. M. Draper, D. E. Culler, K. Yelick, E. Brooks, and K. Warren, Introduction to UPC and Language Specification, Technical Report CCS-TR-99-157, IDA Center for Computing Sciences, Bowie, Maryland (May 1999).

    Google Scholar 

  28. T. A. El-Ghazawi and S. Chauvin, Getting Started with UPC, High Performance Computing Laboratory, George Washington University, Washington DC (dyJune 2001).

    Google Scholar 

  29. R. S. Schreiber, An Introduction to HPF, Lecture Notes in Computer Science, Vol. 1132, pp. 27-44 (1996).

    Google Scholar 

  30. C. H. Koelbel, The High Performance Fortran Handbook, MIT Press, Cambridge, Massachusetts (1994).

    Google Scholar 

  31. MPI-2: Extensions to the Message-Passing Interface, The MPI Forum (July 1997).

  32. R. Chandra, L. Dagum, D. Kohr, D. Maydan, J. McDonald, and R. Menon, Parallel Programming in OpenMP, Morgan Kaufmann Publishers, San Francisco, California (2001).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Pan, L., Lai, M.K., Noguchi, K. et al. Distributed Parallel Computing Using Navigational Programming. International Journal of Parallel Programming 32, 1–37 (2004). https://doi.org/10.1023/B:IJPP.0000015563.36375.17

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:IJPP.0000015563.36375.17

Navigation