A Caltech Library Service

A VLSI Architecture for Concurrent Data Structures


Dally, William James (1986) A VLSI Architecture for Concurrent Data Structures. Dissertation (Ph.D.), California Institute of Technology. doi:10.7907/f8d5-x741.


Concurrent data structures simplify the development of concurrent programs by encapsulating commonly used mechanisms for synchronization and communication into data structures. This thesis develops a notation for describing concurrent data structures, presents examples of concurrent data structures, and describes an architecture to support concurrent data structures.

Concurrent Smailtalk (CST), a derivative of Smailtalk-80 with extensions for concurrency, is developed to describe concurrent data structures. CST allows the programmer to specify objects that are distributed over the nodes of a concurrent computer. These distributed objects have many constituent objects and thus can process many messages simultaneously. They are the foundation upon which concurrent data structures are built.

The balanced cube is a concurrent data structure for ordered sets. The set is distributed by a balanced recursive partition that maps to the subcubes of a binary n-cube using a Gray code. A search algorithm, VW search, based on the distance properties of the Gray code, searches a balanced cube in O(log N) time. Because it does not have the root bottleneck that limits all tree-based data structures to O(1) concurrency, the balanced cube achieves O(N/log N) concurrency.

Considering graphs as concurrent data structures, graph algorithms are presented for the shortest path problem, the max-flow problem, and graph partitioning. These algorithms introduce new synchronization techniques to achieve better performance than existing algorithms.

A message-passing, concurrent architecture is developed that exploits the characteristics of VLSI technology to support concurrent data structures. Interconnection topologies are compared on the basis of dimension. It is shown that minimum latency is achieved with a very low dimensional network. A deadlock-free routing strategy is developed for this class of networks, and a prototype VLSI chip implementing this strategy is described. A message-driven processor complements the network by responding to messages with a very low latency. The processor directly executes messages, eliminating a level of interpretation. To take advantage of the performance offered by specialization while at the same time retaining flexibility, processing elements can be specialized to operate on a single class of objects. These object experts accelerate the performance of all applications using this class.

Item Type:Thesis (Dissertation (Ph.D.))
Subject Keywords:Computer Science
Degree Grantor:California Institute of Technology
Division:Engineering and Applied Science
Major Option:Computer Science
Awards:Caltech Distinguished Alumni Award, 2019
Thesis Availability:Public (worldwide access)
Research Advisor(s):
  • Seitz, Charles L.
Group:Caltech Distinguished Alumni Award
Thesis Committee:
  • Seitz, Charles L. (chair)
  • Bryant, Randy
  • Feynman, Richard Phillips
  • Kajiya, James Thomas
  • Martin, Alain J.
  • McEliece, Robert J.
Defense Date:3 March 1986
Funding AgencyGrant Number
Defense Advanced Research Projects Agency (DARPA)UNSPECIFIED
AT&T Bell LaboratoriesUNSPECIFIED
Record Number:CaltechETD:etd-03252008-140428
Persistent URL:
Default Usage Policy:No commercial reproduction, distribution, display or performance rights in this work are provided.
ID Code:1122
Deposited By: Imported from ETD-db
Deposited On:04 Apr 2008
Last Modified:22 Jul 2021 17:39

Thesis Files

PDF - Final Version
See Usage Policy.


Repository Staff Only: item control page