Skip to main content
Log in

A parallel algorithm manager for networked workstations

  • Published:
Annals of Operations Research Aims and scope Submit manuscript

Abstract

Difficulties in computer solution of large problems often result from the requirements of the algorithm exceeding the space or time capacity of the computer chosen. A natural resolution of this difficulty is to parallelize the algorithm which can promise either reduc-tion in space or time, or both. However, several obstacles confront the scientist in order to successfully parallelize the algorithm. Time must be invested to study parallel architectures and to learn a parallel language. The cost of a special purpose parallel computer can easily exceed the available budget. One alternative is to use an existing network of workstations as a parallel computer. Although the cost has been eliminated, the task of learning network programming has been introduced. There are software packages which bundle network programming effectively, but provide varying degrees of guidance in the development and management of parallel program applications. To ease the effort required, we introduce a parallel algorithm manager which is developed using a message passing paradigm. An object-oriented design approach has been taken to facilitate distributed parallel program-ming. Base manager and worker classes are inherited by a user to form the instantiable classes to drive the parallel program. An example of a branch and bound algorithm and its resulting distributed form are presented.

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. S. Akl, The Design and Analysis of Parallel Algorithms, Prentice-Hall, Englewood Cliffs, NJ, 1989.

    Google Scholar 

  2. R. Barr and B. Hickman, Reporting computational experiments with parallel algorithms: Issues, measures, and experts' opinions, ORSA Journal on Computing 5(1993)2–18.

    Google Scholar 

  3. R. Butler and E. Lusk, Monitors, messages, and clusters: The p4 parallel programming system, Parallel Computing 20(1994)547–564.

    Google Scholar 

  4. C. Cap and V. Strumpen, Efficient parallel computing in distributed workstation environments, Parallel Computing 19(1993)1221–1234.

    Google Scholar 

  5. T. Crainic and M. Gendron, Parallel branch-and-bound algorithms: Survey and synthesis, Operations Research 42(1994)1042–1066.

    Google Scholar 

  6. P. Crandall and M. Quinn, Block data decomposition for data-parallel programming on a heterogeneous workstation network, Proceedings of th 2nd International Symposium on High Performance Distributed Computing, 1993, pp. 42–49.

  7. J. Desbiens et al., CLAP: An object-oriented programming system for distributed memory parallel machines, Proceedings of the 1st Annual Object Oriented Numerics Conference, 1993, pp. 44–48.

  8. R. Finkel and U. Manber, DIB — A distributed implementation of backtracking, Technical Report 588, Department of Computer Science, University of Wisconsin, Madison, 1985.

    Google Scholar 

  9. J. Flower and A. Kolawa, Express is not just a message passing system: Current and future directions in Express, Parallel Computing 20(1994)597–614.

    Google Scholar 

  10. D. Gelernter, Generative communication in Linda, ACM Transactions on Programming Languages and Systems 7(1985)80–112.

    Google Scholar 

  11. B. Gendron and T. Crainic, Parallel implementations of a branch and bound algorithm for multi-commodity location with balancing requirements, INFOR 33(1993)151–165.

    Google Scholar 

  12. A. Grimshaw, W. Strayer and P. Narayan, Dynamic, object-oriented parallel processing, IEEE Parallel and Distributed Technology (May 1993) 33–47.

  13. A. Grimshaw, Easy-to-use object-oriented parallel processing with Mentat, Computer 26(1993) 39–51.

    Google Scholar 

  14. International Business Machines, Inc., AIX 3.2 Commands Reference, Armonk, New York, 1992.

  15. L. Kale and S. Krishnan, Charm++: A portable concurrent object oriented system based on C++, Technical Report UIU-CDCS-R-93–1796, Department of Computer Science, University of Illinois Urbana-Champaign, March 1993.

  16. A.H. Karp, Programming for parallelism, Computer 20(1987)43–57.

    Google Scholar 

  17. P. Larsen, Simple approaches to parallel branch and bound, Parallel Computing 19(1993)143–152.

    Google Scholar 

  18. G.-J. Li and B.W. Wah, Coping with anomalies in parallel branch and bound algorithms, IEEE Transactions on Computers 35(1986)568–573.

    Google Scholar 

  19. S. Lippman, C++ Primer, Addison-Wesley, Reading MA, 1991.

    Google Scholar 

  20. T.A. Marsland, T. Breikreutz and S. Sutphen, A network multi-processor for experiments in parallelism, Concurrency: Practice and Experience 3(1991)203–219.

    Google Scholar 

  21. M. Mayer, A parallel branch and bound algorithm for the multi-facility capacity expansion problem using networked RISC workstations, M.S. Thesis, Department of Industrial Engineering, Lehigh University, 1993.

  22. M. Mayer, Management of networked workstations as a parallel machine for the solution of optimization problems, Ph.D. Dissertation, Department of Industrial Engineering, Lehigh University, 1995.

  23. N. Nedeljkovic and M. Quinn, Data-parallel programming on a network of heterogeneous workstations, Proceedings of the 1st International Symposium on High-Performance Distributed Computing, 1992, pp. 28–36.

  24. B. Neuman and S. Rao, The Prospero resource manager: A scalable framework for processor allocation in distributed systems, Concurrency: Practice and Experience 6(1994)339–355.

    Google Scholar 

  25. L. Plebani and M. Mayer, Implementing a parallel branch and bound algorithm using networked RISC workstations with Linda, Proceedings of the 4th Industrial Engineering Research Conference, May 1995.

  26. E. Pruul, G. Nemhauser and R. Rushmeier, Branch and bound and parallel computation: A historical note, Operations Research Letters 7(1988)65–69.

    Google Scholar 

  27. J. Schaeffer et al., The enterprise model for developing distributed applications, IEEE Parallel and Distributed Technology (August 1993) 85–95.

  28. Scientific Computing Associates, Inc., C-Linda User's Guide and Reference Manual, New Haven CT, 1993.

  29. V. Sunderam, PVM: A framework for parallel distributed computing, Concurrency: Practice and Experience 2(1990)315–339.

    Google Scholar 

  30. V. Sunderam et al., The PVM concurrent computing system: Evolution, experiences and trends, Parallel Computing 20(1994)531–545.

    Google Scholar 

  31. W. Stevens, Unix Network Programming, Prentice-Hall, Englewood Cliffs, NJ, 1990.

    Google Scholar 

  32. L. Wilson, M. Gonzalez and M. Cruess, Experiences in high performance computing with Pleiades and ESP, 1st International Symposium on High Performance Distributed Computing, 1992, pp. 67–76.

Download references

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mayer, M.K., Plebani, L.J. A parallel algorithm manager for networked workstations. Annals of Operations Research 71, 229–258 (1997). https://doi.org/10.1023/A:1018919531503

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1018919531503

Keywords

Navigation