An object-oriented class library for scalable parallel heuristic search

  • Wing-cheong Lau
  • Vineet Singh
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 615)


In this report, we describe the design and implementation of a Parallel Heuristic Search Class Library, with emphasis on the use of object-oriented programming techniques for distributed applications. Another key consideration is the scalability of the library. We present the rationale behind major design decisions as well as the adoption of particular programming conventions. Along with an outline of the general framework of the library, we discuss implementation details of individual library classes. To demonstrate the applicability of the class library, it was used to port two existing parallel applications to an object-oriented platform. Different software metrics regarding the porting projects are used for evaluating library usability.


Parallel Application Class Hierarchy Class Library Method Invocation Processing Entity 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    S. Arvindam, V. Kumar, V.N. Rao, and V. Singh. Automatic test pattern generation on parallel processors. Parallel Computing, 17(12):1323–1342, December 1991. A shorter version appeared in proceedings of the 1989 International Conference on Knowledge-Based Computer Systems.CrossRefGoogle Scholar
  2. 2.
    Sunil Arvindam, Vipin Kumar, and V. Nageshwara Rao. Floorplan Optimization on Multiprocessors. Technical Report ACT-OODS-241-89, MCC, 1989. Submitted for journal publication. Shorter version appeared in proceedings of the 1989 International Conference on Computer Design.Google Scholar
  3. 3.
    G. Booch. Object-Oriented Design with Applications. Benjamin/Cummings, Reading, MA, 1990.Google Scholar
  4. 4.
    G. Carey, J. Schmidt, V. Singh, and D. Yelton. A Scalable, Object-Oriented Finite Element Solver for Partial Differential Equations on Multicomputers. In Proceedings of the 1992 ACM International Conference on Supercomputing, 1992. To appear.Google Scholar
  5. 5.
    J.M. Coggins. Designing C++ Libraries. In Proceedings of the 1990 USENIX C++ Conference, April 1990.Google Scholar
  6. 6.
    D.W. Forslund. Experiences in Writing a Distributed Particle Simulation Code in C++. In USENIX C++ Conference, pages 177–190, 1990.Google Scholar
  7. 7.
    A.S. Grimshaw. An Introduction to Object-Oriented Parallel Programming with Mentat. Computer Science Report TR-91-07, University of Virginia, 1991.Google Scholar
  8. 8.
    P.R. Jossman, E.N. Schiebel, and J.C. Shank. Climbing the C++ Learning Curve. In Proceedings of the 1990 USENIX C++ Conference, April 1990.Google Scholar
  9. 9.
    A. Khanna et al. Experimental Systems Project at the Fifth Distributed Memory Computing Conference. Technical Report ACT-ESP-117-90, MCC, April 1990.Google Scholar
  10. 10.
    Vipin Kumar and Anshul Gupta. Analyzing the Scalability of Parallel Algorithms and Architectures: A Survey. In Proceedings of the 1991 International Conference on Supercomputing, June 1991.Google Scholar
  11. 11.
    Vipin Kumar and V. N. Rao. Scalable Parallel Formulations of Depth-First Search. In Vipin Kumar, P. S. Gopalakrishnan, and Laveen Kanal, editors, Parallel Algorithms for Machine Intelligence and Vision. Springer-Verlag, New York, 1990.Google Scholar
  12. 12.
    Vipin Kumar and V. Nageshwara Rao. Parallel depth-first search, part II: Analysis. International Journal of Parallel Programming, 16 (6):501–519, 1987.MathSciNetCrossRefGoogle Scholar
  13. 13.
    Vipin Kumar and Vineet Singh. Scalability of Parallel Algorithms for the All-Pairs Shortest Path Problem. Journal of Parallel and Distributed Processing (special issue on massively parallel computation), October 1991. A short version appears in the Proceedings of the International Conference on Parallel Processing, 1990.Google Scholar
  14. 14.
    D. Mancl. Use of metrics to evaluate C++. In Conference Proceedings: C++ at Work'90. The C++ Report and The Wang Institute of Boston University, 1990.Google Scholar
  15. 15.
    B. Meyer. Object-Oriented Software Construction. Prentice Hall, 1988.Google Scholar
  16. 16.
    V. Nageshwara Rao and Vipin Kumar. Parallel Depth-First Search, Part I: Implementation. International Journal of Parallel Programming, 16 (6):479–499, 1987.MathSciNetCrossRefGoogle Scholar
  17. 17.
    Michael J. Quinn. Designing Efficient Algorithms for Parallel Computers. McGraw Hill, New York, 1987.Google Scholar
  18. 18.
    V. Singh, V. Kumar, G. Agha, and C. Tomlinson. Efficient Algorithms for Parallel Sorting on Mesh Multicomputers. International Journal of Parallel Programming, 20(2), 1991. Shorter version in proceedings of the 1991 International Parallel Processing Symposium.Google Scholar
  19. 19.
    K.S. Smith and A. Chatterjee. A C++ Environment for Distributed Application Execution. In Conference Proceedings: C++ at Work-'90, 1990.Google Scholar
  20. 20.
    E. Surma. Extensible Software Platform Development Environment Programmer's Guide. Technical Report ACA-ESP-223-88, MCC, August 1990.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Wing-cheong Lau
    • 1
  • Vineet Singh
    • 2
  1. 1.ECE Dept.Univ. of TexasAustinUSA
  2. 2.HP LabsPalo AltoUSA

Personalised recommendations