Write-and-f-array: implementation and an application
Robert Obryk

TL;DR
This paper introduces the write-and-f-array, a new shared memory object with wait-free implementation, enabling efficient construction of fetch-and-add objects with polylogarithmic step complexity and subquadratic memory, advancing concurrent data structure design.
Contribution
It presents the first wait-free implementation of the write-and-f-array with optimized complexity and demonstrates its application to create efficient fetch-and-add objects.
Findings
Wait-free implementation of write-and-f-array with O(N log N) memory.
Read operation has O(1) step complexity.
Application to fetch-and-add achieves O(P log P) memory and O(log^3 P) step complexity.
Abstract
We introduce a new shared memory object: the write-and-f-array, provide its wait-free implementation and use it to construct an improved wait-free implementation of the fetch-and-add object. The write-and-f-array generalizes single-writer write-and-snapshot object in a similar way that the f-array generalizes the multi-writer snapshot object. More specifically, a write-and-f-array is parameterized by an associative operator and is conceptually an array with two atomic operations: - write-and-f modifies a single array's element and returns the result of applying to all the elements, - read returns the result of applying to all the array's elements. We provide a wait-free implementation of an -element write-and-f-array with memory complexity, step complexity of the write-and-f operation and step complexity of the read operation. The…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Parallel Computing and Optimization Techniques · Logic, programming, and type systems
