Concurrent data structures

  • Adrian Colbrook
  • Colin Smythe
Computer Architecture, Concurrency, Parallelism, Communication And Networking
Part of the Lecture Notes in Computer Science book series (LNCS, volume 468)


Several techniques for the storage of large data structures in main memory have been proposed and, although none is optimal in every situation, tree structures have become a commonly adopted algorithm. A scheme for maintaining a balanced search tree on a distributed memory parallel architecture is described. A general 2P−2−2P (for integer P≥3) search tree is introduced with a linear array of up to [log2N/(P−2)]+1 processors being used to implement such a search tree. As many as ([log2N/(P−2)]+1)/2 operations can execute concurrently. Several examples of 2P−2−2P search trees have been implemented on an array of transputer processors.

The search structures developed were highly flexible allowing variations in the throughput and response time to be achieved by simple changes to the transputer architecture or the value of P. Applications of these search structures presently in use or under consideration include neural networks, parallel simulation systems, distributed database applications and the migration of sequential systems onto parallel architectures.


Tree Structure Very Large Scale Integrate Search Structure Array Length Tree Machine 
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.

6. References

  1. [1]
    Dowsing R.D., “Introduction to Concurrency using Occam”, Van Nostrand Reinhold, 1988.Google Scholar
  2. [2]
    Colbrook A., Smythe C., “Efficient Implementation of Search Trees on Parallel Distributed Memory Architectures”, to appear IEE Proceedings Part E.Google Scholar
  3. [3]
    Quinn M.J., “Designing Efficient Algorithms for Parallel Computers” McGraw-Hill, New York, 1987.Google Scholar
  4. [4]
    Comer D., “The Ubiquitous B-Tree”, Computer Surveys, 11(2), pp121–137, 1979.Google Scholar
  5. [5]
    Knuth D.E., “The Art of Computer Programming vol III: Searching and Sorting”, Addison-Wesley, Reading, MA, 1969.Google Scholar
  6. [6]
    Bentley J.L., Kung H.T., “A Tree Machine for Searching Problems”, Proceedings of the International Conference on Parallel Processing, IEEE, New York, 1979.Google Scholar
  7. [7]
    Song S.W., “A Highly Concurrent Tree Machine for Database Applications”, Proceeding of the International Conference on Parallel Processing, IEEE, New York, 1980.Google Scholar
  8. [8]
    Ottman T.A., Rosenberg A.L., Stockmeyer L.J., “A Dictionary Machine (for VLSI)”, IEEE Transactions on Computers, C-31(9), pp892–897, 1984.Google Scholar
  9. [9]
    Bonuccelli M.A., Lodi E., Luccio F., Maestrini P., Pagli L., “A VLSI Tree Machine for Relational Data Bases”, Proceeding of the 10th ACM International Symposium on Computer Architecture, pp67–73, IEEE, 1983.Google Scholar
  10. [10]
    Atallah M.J., Kosaraju S.R., “A Generalized Dictionary Machine for VLSI”, IEEE Transactions on Computers, C-34(2), pp151–155, 1985.Google Scholar
  11. [11]
    Somani A., Agarwal V., “An Efficient Unsorted VLSI Dictionary Machine”, IEEE Transactions on Computers, C-34(9), pp841–852, 1985Google Scholar
  12. [12]
    Chang J.H., Ibarra O.H., Chung M.J., Rao K.K., “Systolic Tree Implementation of Data Structures”, IEEE Transactions on Computers, C-37(6), pp727–735, 1988.Google Scholar
  13. [13]
    Carey M.J., Thompson C.D., “An Efficient Implementation of Search Trees on [LgN+1] Processors”, IEEE Transactions on Computers, C-33(11), pp1038–1041, 1984.Google Scholar
  14. [14]
    Tanaka Y., Nozaka Y., Masuyama A., “Pipeline Searching and Sorting Modules as Components of a Data Flow Database Computer”, Proceedings of the International Federation for Information Processing, pp427–432, North-Holland, Amsterdam, 1980.Google Scholar
  15. [15]
    Fisher A.L., “Dictionary Machines With a Small Number of Processors”, Proceedings of the 11th Annual International Symposium on Computer Architecture, pp151–156, IEEE, New York, 1984.Google Scholar
  16. [16]
    Walden M., Sere K., “Free Text Retrieval on Transputer Networks”, Microprocessors & Microsystems 13(3), pp.179–187, 1989.Google Scholar
  17. [17]
    Inmos Ltd, “Transputer Reference Manual”, Prentice Hall, London, 1986.Google Scholar
  18. [18]
    Green S.A., Paddon D.J., “An Extension of the Processor Farm Using a Tree Architecture”, Proceedings of 9th Occam User Group Technical Meeting, pp53–69, IOS, Amsterdam, 1988.Google Scholar
  19. [19]
    Guibas L.J., Sedgewick R., “A Dichromatic Framework for Balanced Trees”, Proceedings 19th Annual IEEE Computer Society Symposium of the Foundations of Computer Science, pp8–21, 1978.Google Scholar
  20. [20]
    Harp J.G., “Phase 2 of the Reconfigurable Transputer Project — PT85”, Proceedings of Esprit'87—Achievements and Impact, pp583–591, 1987.Google Scholar
  21. [21]
    Hey A.J.G., Pritchard D.J., “Parallel Applications on the RTP Supernode Machine”, Proceedings of the International Conference on Supercomputers 2, pp264–270, Supercomputing Institute, Florida, 1988.Google Scholar
  22. [22]
    Nicole D.A., “Reconfigurable Transputer Processor Architectures”, Proceedings 22nd Annual Hawaii Conference on Systems Sciences, 1, pp365–374, IEEE, Washington DC, 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Adrian Colbrook
    • 1
  • Colin Smythe
    • 1
  1. 1.Department of Electronic & Electrical Engineering & D.H. Pitt Department of Mathematics & Computer ScienceUniversity of SurreyGuildfordUK

Personalised recommendations