Concurrent search structure algorithms

Dennis Shasha, Nathan Goodman

Research output: Contribution to journalArticle

Abstract

A dictionary is an abstract data type supporting the actions member, insert, and delete. A search structure is a data structure used to implement a dictionary. Examples include B trees, hash structures, and unordered lists. Concurrent algorithms on search structures can achieve more parallelism than standard concurrency control methods would suggest, by exploiting the fact that many different search structure states represent one dictionary state. We present a framework for verifying such algorithms and for inventing new ones. We give several examples, one of which exploits the structure of Banyan family interconnection networks. We also discuss the interaction between concurrency control and recovery as applied to search structures.

Original languageEnglish (US)
Pages (from-to)53-90
Number of pages38
JournalACM Transactions on Database Systems
Volume13
Issue number1
DOIs
StatePublished - Mar 1988

Fingerprint

Glossaries
Concurrency control
Abstract data types
Data structures
Recovery

ASJC Scopus subject areas

  • Computer Graphics and Computer-Aided Design
  • Information Systems
  • Software

Cite this

Concurrent search structure algorithms. / Shasha, Dennis; Goodman, Nathan.

In: ACM Transactions on Database Systems, Vol. 13, No. 1, 03.1988, p. 53-90.

Research output: Contribution to journalArticle

Shasha, Dennis ; Goodman, Nathan. / Concurrent search structure algorithms. In: ACM Transactions on Database Systems. 1988 ; Vol. 13, No. 1. pp. 53-90.
@article{f95ceef59fe847058bd26c2f61265880,
title = "Concurrent search structure algorithms",
abstract = "A dictionary is an abstract data type supporting the actions member, insert, and delete. A search structure is a data structure used to implement a dictionary. Examples include B trees, hash structures, and unordered lists. Concurrent algorithms on search structures can achieve more parallelism than standard concurrency control methods would suggest, by exploiting the fact that many different search structure states represent one dictionary state. We present a framework for verifying such algorithms and for inventing new ones. We give several examples, one of which exploits the structure of Banyan family interconnection networks. We also discuss the interaction between concurrency control and recovery as applied to search structures.",
author = "Dennis Shasha and Nathan Goodman",
year = "1988",
month = "3",
doi = "10.1145/42201.42204",
language = "English (US)",
volume = "13",
pages = "53--90",
journal = "ACM Transactions on Database Systems",
issn = "0362-5915",
publisher = "Association for Computing Machinery (ACM)",
number = "1",

}

TY - JOUR

T1 - Concurrent search structure algorithms

AU - Shasha, Dennis

AU - Goodman, Nathan

PY - 1988/3

Y1 - 1988/3

N2 - A dictionary is an abstract data type supporting the actions member, insert, and delete. A search structure is a data structure used to implement a dictionary. Examples include B trees, hash structures, and unordered lists. Concurrent algorithms on search structures can achieve more parallelism than standard concurrency control methods would suggest, by exploiting the fact that many different search structure states represent one dictionary state. We present a framework for verifying such algorithms and for inventing new ones. We give several examples, one of which exploits the structure of Banyan family interconnection networks. We also discuss the interaction between concurrency control and recovery as applied to search structures.

AB - A dictionary is an abstract data type supporting the actions member, insert, and delete. A search structure is a data structure used to implement a dictionary. Examples include B trees, hash structures, and unordered lists. Concurrent algorithms on search structures can achieve more parallelism than standard concurrency control methods would suggest, by exploiting the fact that many different search structure states represent one dictionary state. We present a framework for verifying such algorithms and for inventing new ones. We give several examples, one of which exploits the structure of Banyan family interconnection networks. We also discuss the interaction between concurrency control and recovery as applied to search structures.

UR - http://www.scopus.com/inward/record.url?scp=0023984157&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0023984157&partnerID=8YFLogxK

U2 - 10.1145/42201.42204

DO - 10.1145/42201.42204

M3 - Article

VL - 13

SP - 53

EP - 90

JO - ACM Transactions on Database Systems

JF - ACM Transactions on Database Systems

SN - 0362-5915

IS - 1

ER -