Skip to main content

Capturing Branch-and-Bound using Shared Abstract Data-types

  • Conference paper
  • 31 Accesses

Abstract

To support the routine construction of large-scale parallel applications requires an effective mechanism of abstracting from the underlying machine. In this paper, abstraction using Shared Abstract Data-types is illustrated through a case-study of an irregular problem; the Travelling Salesman Problem. This design of a Branch and Bound algorithm to solve this problem is investigated, demonstrating the separation of algorithmic and implementation issues that the SADT approach offers. Issues in the composition of SADTs, and methods of exploiting the shared data weakness/performance tradeoff are discussed.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G M Amdahl. Validity of the single-processor approach to achieving large scale computing capabilities. In AFIPS Conference proceedings, pages 483–485, April 1967.

    Google Scholar 

  2. Henri Bal. Programming Distributed Systems. Prentice-Hall, 1990.

    Google Scholar 

  3. Henri E. Bal, M. Franz Kaashoek, and Andrew S. Tannenbaum. Orea: A Language for Parallel Programming of Distributed Systems. IEEE Transactions on Soßware Engineering, 18(3), March 1992.

    Google Scholar 

  4. Robert Briggs. An Accumulator SADT: Implementation and Concurrent Semantics. Final Year Project Report (Unpublished), School of Computer Studies, University of Leeds, 1995.

    Google Scholar 

  5. Andrew A. Chien. Concurrent Aggregates. MIT Press, 1993.

    Google Scholar 

  6. M. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. Pitman/MIT Press, 1989.

    MATH  Google Scholar 

  7. J. Darlington, A.J. Field, P.G. Harrison, P.H.J. Kelly, D.W.N Sharp, and Q. Wu. Parallel Programming Using Skeleton Functions. In Parallel Languages and Architectures, Europe 1993, 1993.

    Google Scholar 

  8. >Carla Schlatter Ellis. Concurrent Search and Insertion in AVL Trees. IEEE Transactions on Computers, C-29(9), September 1980.

    Google Scholar 

  9. Don Goodeve, John Davy, Peter Dew, and Jonathan Nash. Concurrent Sharing through Abstract Data-types: A Case Study. In M. Kara et al., editor, Abstract Machine Models for Parallel and Distributed Computing. IOS Press, 1996.

    Google Scholar 

  10. Don Goodeve, John Davy, and Chris Wadsworth. Shared Accumulators. In Transputer Applications and Systems ’95, pages 518–528. IOS Press, 1995.

    Google Scholar 

  11. A. Gottlieb, R. Grishman, C. P. Kruskal, K. M. McAuliffe, L. Rudolph, and M. Snir. The NYU Ultracomputer — Designing an MIMD Shared Memory Parallel Computer. IEEE Transactions on Computers, C-32(2):175–189, February 1983.

    Article  Google Scholar 

  12. Maurice P. Herlihy and Jeannette M. Wing. Linearizability: A Correctness Condition for Concurrent Objects. ACM Transactions on Programming Languages and Systems, 12(3):463–492, July 1990.

    Article  Google Scholar 

  13. T. Johnson. A Highly Concurrent Priority Queue. Journal of Parallel and Distributed Computing, 22(2):367–373, 1994.

    Article  MATH  Google Scholar 

  14. Nobert Kuck, Martin Middendorf, and Hartmut Schmeck. Generic Branch and Bound on Transputers. In R. Grebe et al., editor, Transputer Applications and Systems ’93, pages 521–535. IOS Press, 1993.

    Google Scholar 

  15. Sandeep Kumar and Dharma P. Agrawal. CORE: A Solution to the Inheritance Anomaly in Concurrent Object-Oriented Languages. In A. Kumar and K. Kamel, editors,Parallel and Distributed Computing and Systems ’96, pages 75–81. ICSA, October 14–16, 1993.

    Google Scholar 

  16. Ten-Hwang Lai and Sartaj Sahni. Anomalies in Parallel Branch-and- Bound Algorithms.Communications of the ACM, 27(6):594–602, June 1984.

    Article  MATH  Google Scholar 

  17. Leslie Lamport. How to make a Multiprocessor Computer that Correctly Executes Multiprocess Programs. IEEE Transactions on Computers, C-28(9):690–691, September 1979.

    Article  Google Scholar 

  18. Vladmir Lanin and Dennis Shasha. Concurrent set manipulation without locking. In 7th ACM Symposium on the Principlies of Database Systems, pages 211–220, March 1988.

    Google Scholar 

  19. John D.C. Little, Katta G. Murty, Dura W. Sweeney, and Caroline Karel. An Algorithm for the Travelling Salesman Problem. Operations Research, 11:972–989, 1963.

    Article  MATH  Google Scholar 

  20. G.P. McKeown, V.J. Rayward-Smith, S.A. Rush, and H.J. Turpin. Using a Transputer network to solve Branch-and-Bound problems. In P. Welch et al., editor, Transputing ’91, pages 781–799. IOS Press, 1991.

    Google Scholar 

  21. Greg Nelson. Systems Programming with Modula-3. Prentice-Hall series in Innovative Computer Science. Prentice-Hall, 1991.

    Google Scholar 

  22. V.J. Rayward-Smith, S.A. Rush, and G.P. McKeown. Efficiency considerations in the implementation of parallel branch-and-bound. Annals of Operations Research, 43:123–145, 1993.

    Article  MathSciNet  MATH  Google Scholar 

  23. Nir Shavit and Dan Touitou. Elimination Trees and the Construction of Pools and Stacks. In 7th Annual Symposium on Parallel Algorithms and Architectures, pages 54–63. ACM Press, April 26th, 1995.

    Google Scholar 

  24. Thorsten von Eicken, Anindya Basu, and Vineet Buch. Low-Latency Communication Over ATM Networks Using Active Messages. IEEE Micro, 15(l):46–53, 1995.

    Article  Google Scholar 

  25. Jeanette M. Wing and Chun Gong. Testing and Verifying Concurrent Objects. Journal of Parallel and Distributed Computing, 17:164–182,1993.

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag London Limited

About this paper

Cite this paper

Goodeve, D., Briggs, R., Davy, J. (1996). Capturing Branch-and-Bound using Shared Abstract Data-types. In: Jesshope, C., Shafarenko, S. (eds) UK Parallel ’96. Springer, London. https://doi.org/10.1007/978-1-4471-1504-5_9

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-1504-5_9

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-76068-9

  • Online ISBN: 978-1-4471-1504-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics