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.
Similar content being viewed by others
References
S. Akl, The Design and Analysis of Parallel Algorithms, Prentice-Hall, Englewood Cliffs, NJ, 1989.
R. Barr and B. Hickman, Reporting computational experiments with parallel algorithms: Issues, measures, and experts' opinions, ORSA Journal on Computing 5(1993)2–18.
R. Butler and E. Lusk, Monitors, messages, and clusters: The p4 parallel programming system, Parallel Computing 20(1994)547–564.
C. Cap and V. Strumpen, Efficient parallel computing in distributed workstation environments, Parallel Computing 19(1993)1221–1234.
T. Crainic and M. Gendron, Parallel branch-and-bound algorithms: Survey and synthesis, Operations Research 42(1994)1042–1066.
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.
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.
R. Finkel and U. Manber, DIB — A distributed implementation of backtracking, Technical Report 588, Department of Computer Science, University of Wisconsin, Madison, 1985.
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.
D. Gelernter, Generative communication in Linda, ACM Transactions on Programming Languages and Systems 7(1985)80–112.
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.
A. Grimshaw, W. Strayer and P. Narayan, Dynamic, object-oriented parallel processing, IEEE Parallel and Distributed Technology (May 1993) 33–47.
A. Grimshaw, Easy-to-use object-oriented parallel processing with Mentat, Computer 26(1993) 39–51.
International Business Machines, Inc., AIX 3.2 Commands Reference, Armonk, New York, 1992.
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.
A.H. Karp, Programming for parallelism, Computer 20(1987)43–57.
P. Larsen, Simple approaches to parallel branch and bound, Parallel Computing 19(1993)143–152.
G.-J. Li and B.W. Wah, Coping with anomalies in parallel branch and bound algorithms, IEEE Transactions on Computers 35(1986)568–573.
S. Lippman, C++ Primer, Addison-Wesley, Reading MA, 1991.
T.A. Marsland, T. Breikreutz and S. Sutphen, A network multi-processor for experiments in parallelism, Concurrency: Practice and Experience 3(1991)203–219.
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.
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.
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.
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.
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.
E. Pruul, G. Nemhauser and R. Rushmeier, Branch and bound and parallel computation: A historical note, Operations Research Letters 7(1988)65–69.
J. Schaeffer et al., The enterprise model for developing distributed applications, IEEE Parallel and Distributed Technology (August 1993) 85–95.
Scientific Computing Associates, Inc., C-Linda User's Guide and Reference Manual, New Haven CT, 1993.
V. Sunderam, PVM: A framework for parallel distributed computing, Concurrency: Practice and Experience 2(1990)315–339.
V. Sunderam et al., The PVM concurrent computing system: Evolution, experiences and trends, Parallel Computing 20(1994)531–545.
W. Stevens, Unix Network Programming, Prentice-Hall, Englewood Cliffs, NJ, 1990.
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.
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1018919531503