Citation
Dally, William James (1986) A VLSI Architecture for Concurrent Data Structures. Dissertation (Ph.D.), California Institute of Technology. doi:10.7907/f8d5-x741. https://resolver.caltech.edu/CaltechETD:etd-03252008-140428
Abstract
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): |
| ||||||
Group: | Caltech Distinguished Alumni Award | ||||||
Thesis Committee: |
| ||||||
Defense Date: | 3 March 1986 | ||||||
Funders: |
| ||||||
Record Number: | CaltechETD:etd-03252008-140428 | ||||||
Persistent URL: | https://resolver.caltech.edu/CaltechETD:etd-03252008-140428 | ||||||
DOI: | 10.7907/f8d5-x741 | ||||||
Default Usage Policy: | No commercial reproduction, distribution, display or performance rights in this work are provided. | ||||||
ID Code: | 1122 | ||||||
Collection: | CaltechTHESIS | ||||||
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. 9MB |
Repository Staff Only: item control page