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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
G M Amdahl. Validity of the single-processor approach to achieving large scale computing capabilities. In AFIPS Conference proceedings, pages 483–485, April 1967.
Henri Bal. Programming Distributed Systems. Prentice-Hall, 1990.
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.
Robert Briggs. An Accumulator SADT: Implementation and Concurrent Semantics. Final Year Project Report (Unpublished), School of Computer Studies, University of Leeds, 1995.
Andrew A. Chien. Concurrent Aggregates. MIT Press, 1993.
M. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. Pitman/MIT Press, 1989.
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.
>Carla Schlatter Ellis. Concurrent Search and Insertion in AVL Trees. IEEE Transactions on Computers, C-29(9), September 1980.
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.
Don Goodeve, John Davy, and Chris Wadsworth. Shared Accumulators. In Transputer Applications and Systems ’95, pages 518–528. IOS Press, 1995.
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.
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.
T. Johnson. A Highly Concurrent Priority Queue. Journal of Parallel and Distributed Computing, 22(2):367–373, 1994.
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.
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.
Ten-Hwang Lai and Sartaj Sahni. Anomalies in Parallel Branch-and- Bound Algorithms.Communications of the ACM, 27(6):594–602, June 1984.
Leslie Lamport. How to make a Multiprocessor Computer that Correctly Executes Multiprocess Programs. IEEE Transactions on Computers, C-28(9):690–691, September 1979.
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.
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.
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.
Greg Nelson. Systems Programming with Modula-3. Prentice-Hall series in Innovative Computer Science. Prentice-Hall, 1991.
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.
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.
Thorsten von Eicken, Anindya Basu, and Vineet Buch. Low-Latency Communication Over ATM Networks Using Active Messages. IEEE Micro, 15(l):46–53, 1995.
Jeanette M. Wing and Chun Gong. Testing and Verifying Concurrent Objects. Journal of Parallel and Distributed Computing, 17:164–182,1993.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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