A Fully Concurrent Adaptive Snapshot Object for RMWable Shared-Memory

Authors Benyamin Bashari , David Yu Cheng Chan, Philipp Woelfel



PDF
Thumbnail PDF

File

LIPIcs.DISC.2024.7.pdf
  • Filesize: 0.88 MB
  • 22 pages

Document Identifiers

Author Details

Benyamin Bashari
  • University of Calgary, Canada
David Yu Cheng Chan
  • University of Calgary, Canada
Philipp Woelfel
  • University of Calgary, Canada

Cite AsGet BibTex

Benyamin Bashari, David Yu Cheng Chan, and Philipp Woelfel. A Fully Concurrent Adaptive Snapshot Object for RMWable Shared-Memory. In 38th International Symposium on Distributed Computing (DISC 2024). Leibniz International Proceedings in Informatics (LIPIcs), Volume 319, pp. 7:1-7:22, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2024)
https://doi.org/10.4230/LIPIcs.DISC.2024.7

Abstract

An adaptive RMWable snapshot object maintains an array A[0..m-1] of m readable shared memory objects that support an arbitrary set of read-modify-write (RMW) operations, in addition to Read(). Each array entry A[i] can be accessed by any process using an operation Invoke(i,op), which simply applies a supported RMW operation op to A[i] and returns the response of op. In addition, processes can record the state of the array by calling Click(). While Click() does not return anything, a process p can call Observe(i) to determine the value of A[i] at the point of p’s latest Click(). Recently, Jayanti, Jayanti, and Jayanti [Prasad Jayanti et al., 2024] presented an RMWable adaptive snapshot object, where all operations have constant step complexity. Their algorithm is single-scanner, meaning that Click() operations cannot be executed concurrently. We present the first fully concurrent RMWable adaptive snapshot object, where all operations can be executed concurrently, assuming the the system provides atomic Fetch-And-Increment and Compare-And-Swap operations. Click() and Invoke() operations have constant step complexity, and Observe() has step complexity O(log n). The total number of base objects needed is O(mnlog n).

Subject Classification

ACM Subject Classification
  • Theory of computation → Shared memory algorithms
Keywords
  • Shared memory
  • snapshot
  • camera object
  • RMW
  • distributed computing

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. Yehuda Afek, Hagit Attiya, Danny Dolev, Eli Gafni, Michael Merritt, and Nir Shavit. Atomic snapshots of shared memory. J. of the ACM, 40(4):873-890, 1993. URL: https://doi.org/10.1145/153724.153741.
  2. Thomas Anderson. The performance of spin lock alternatives for shared-memory multiprocessors. IEEE Trans. Parallel Distrib. Syst., 1:6-16, 1990. URL: https://doi.org/10.1109/71.80120.
  3. James Aspnes, Hagit Attiya, Keren Censor-Hillel, and Faith Ellen. Limited-use atomic snapshots with polylogarithmic step complexity. J. of the ACM, 62(1):1-22, 2015. URL: https://doi.org/10.1145/2732263.
  4. James Aspnes and Keren Censor-Hillel. Atomic snapshots in O(log³ n) steps using randomized helping. In Proc. of 27th DISC, pages 254-268, 2013. URL: https://doi.org/10.1007/978-3-642-41527-2_18.
  5. Hagit Attiya, Rachid Guerraoui, and Eric Ruppert. Partial snapshot objects. In Friedhelm Meyer auf der Heide and Nir Shavit, editors, Proc. of 20th SPAA, pages 336-343, 2008. URL: https://doi.org/10.1145/1378533.1378591.
  6. Hagit Attiya, Maurice Herlihy, and Ophir Rachman. Efficient atomic snapshots using lattice agreement. In Proc. of 6th WDAG, pages 35-53, 1992. Google Scholar
  7. Benyamin Bashari and Philipp Woelfel. An efficient adaptive partial snapshot implementation. In Proc. of the 2021 ACM PODC, pages 545-555, 2021. URL: https://doi.org/10.1145/3465084.3467939.
  8. Michiko Inoue and Wei Chen. Linear-time snapshot using multi-writer multi-reader registers. In Proc. of the 8th WDAG, pages 130-140, 1994. URL: https://doi.org/10.1007/BFb0020429.
  9. Prasad Jayanti. f-arrays: Implementation and applications. In Proc. of 21st PODC, pages 270-279, 2002. URL: https://doi.org/10.1145/571825.571875.
  10. Prasad Jayanti, Siddhartha Jayanti, and Sucharita Jayanti. MemSnap: A fast adaptive snapshot algorithm for RMWable shared-memory. In Proc. of 43rd PODC, pages 25-35, 2024. URL: https://doi.org/10.1145/3662158.3662820.
  11. Prasad Jayanti and Srdjan Petrovic. Efficient and practical constructions of ll/sc variables. In Proc. of 22nd PODC, pages 285-294, 2003. URL: https://doi.org/10.1145/872035.872078.
  12. Prasad Jayanti, King Tan, and Sam Toueg. Time and space lower bounds for nonblocking implementations. SIAM J. on Comp., 30(2):438-456, 2000. URL: https://doi.org/10.1137/S0097539797317299.
  13. MirzaBaig, Danny Hendler, Alessia Milani, and Corentin Travers. Long-lived snapshots with polylogarithmic amortized step complexity. In Proc. of the 2020 ACM PODC, pages 31-40, 2020. URL: https://doi.org/10.1145/3382734.3406005.
  14. Robert Obryk. Write-and-f-array: implementation and an application. Master’s thesis, Jagiellonian University, 2013. Google Scholar
  15. Yaron Riany, Nir Shavit, and Dan Touitou. Towards a practical snapshot algorithm. Theor. Comp. Sci., 269(1-2):163-201, 2001. URL: https://doi.org/10.1016/S0304-3975(00)00412-6.
  16. Yuanhao Wei, Naama Ben-David, Guy Blelloch, Panagiota Fatourou, Eric Ruppert, and Yihan Sun. Constant-time snapshots with applications to concurrent data structures. In Proc. of 26th PPOPP, pages 31-46, 2021. URL: https://doi.org/10.1145/3437801.3441602.
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail