License: Creative Commons Attribution 4.0 International license (CC BY 4.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.DISC.2021.25
URN: urn:nbn:de:0030-drops-148278
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2021/14827/
Jayanti, Siddhartha ;
Shun, Julian
Fast Arrays: Atomic Arrays with Constant Time Initialization
Abstract
Some algorithms require a large array, but only operate on a small fraction of its indices. Examples include adjacency matrices for sparse graphs, hash tables, and van Emde Boas trees. For such algorithms, array initialization can be the most time-consuming operation. Fast arrays were invented to avoid this costly initialization. A fast array is a software implementation of an array, such that the entire array can be initialized in just constant time.
While algorithms for sequential fast arrays have been known for a long time, to the best of our knowledge, there are no previous algorithms for concurrent fast arrays. We present the first such algorithms in this paper. Our first algorithm is linearizable and wait-free, uses only linear space, and supports all operations - initialize, read, and write - in constant time. Our second algorithm enhances the first to additionally support all the read-modify-write operations available in hardware (such as compare-and-swap) in constant time.
BibTeX - Entry
@InProceedings{jayanti_et_al:LIPIcs.DISC.2021.25,
author = {Jayanti, Siddhartha and Shun, Julian},
title = {{Fast Arrays: Atomic Arrays with Constant Time Initialization}},
booktitle = {35th International Symposium on Distributed Computing (DISC 2021)},
pages = {25:1--25:19},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-210-5},
ISSN = {1868-8969},
year = {2021},
volume = {209},
editor = {Gilbert, Seth},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/opus/volltexte/2021/14827},
URN = {urn:nbn:de:0030-drops-148278},
doi = {10.4230/LIPIcs.DISC.2021.25},
annote = {Keywords: fast array, linearizable, wait-free, asynchronous, multiprocessor, constant time, space efficient, data structure}
}
Keywords: |
|
fast array, linearizable, wait-free, asynchronous, multiprocessor, constant time, space efficient, data structure |
Collection: |
|
35th International Symposium on Distributed Computing (DISC 2021) |
Issue Date: |
|
2021 |
Date of publication: |
|
04.10.2021 |