Upper Bounds for Boundless Tagging with Bounded Objects

  • Zahra AghazadehEmail author
  • Philipp Woelfel
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9888)


A fundamental technique used in the design of shared memory algorithms is tagging, where registers or other shared objects get augmented with additional values, called tags. In this paper, we provide a framework for tagging, and prove upper bounds for the complexity of this problem. We define new types that allow processes to generate tags infinitely often, store them to or retrieve them from other objects, use them safely, and release them when they are not needed any more. We present asymptotically optimally time efficient implementations of those types from objects of bounded size. In particular, our tags need only objects of logarithmic size, and operations on them can be performed in constant step complexity. In addition to the straightforward applications that use tags directly, our implementations can also be used for memory reclamation in a number of algorithms, such as those based on single compare-and-swap universal or read-copy-update.



We thank Lisa Higham for valueable discussions related to our abstraction, and Hagit Attiya for helpful literature pointers.


  1. 1.
    Afek, Y., Attiya, H., Dolev, D., Gafni, E., Merritt, M., Shavit, N.: Atomic snapshots of shared memory. J. ACM 40(4), 873–890 (1993)CrossRefzbMATHGoogle Scholar
  2. 2.
    Aghazadeh, Z., Golab, W., Woelfel, P.: Making objects writable. In: Proceeding of 33rd PODC, pp. 385–395 (2014)Google Scholar
  3. 3.
    Aghazadeh, Z., Woelfel, P.: Space- and time-efficient long-lived test-and-set objects. In: Aguilera, M.K., Querzoni, L., Shapiro, M. (eds.) OPODIS 2014. LNCS, vol. 8878, pp. 404–419. Springer, Heidelberg (2014)Google Scholar
  4. 4.
    Aghazadeh, Z., Woelfel, P.: On the time and space complexity of ABA prevention and detection. In: Proceeding of 34th PODC, pp. 193–202 (2015)Google Scholar
  5. 5.
    Alistarh, D., Censor-Hillel, K., Shavit, N.: Are lock-free concurrent algorithms practically wait-free? In: Proceeding of 46th ACM STOC, pp. 714–723 (2014)Google Scholar
  6. 6.
    Anderson, J.H., Moir, M.: Universal constructions for multi-object operations. In Proceeding of 14th PODC, pp. 184–193 (1995)Google Scholar
  7. 7.
    Attiya, H., Rachman, O.: Atomic snapshots in o(n log n) operations. SIAM J. Comp. 27(2), 319–340 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Brown, T.A.: Reclaiming memory for lock-free data structures: there has to be a better way. In: Proceeding of 34th PODC, pp. 261–270 (2015)Google Scholar
  9. 9.
    Clements, A.T., Kaashoek, M.F., Zeldovich, N.: Scalable address spaces using RCU balanced trees. In: Proceeding of 17th ASPLOS, pp. 199–210 (2012)Google Scholar
  10. 10.
    Dolev, D., Shavit, N.: Bounded concurrent time-stamping. SIAMJC 26(2), 418–455 (1997)MathSciNetzbMATHGoogle Scholar
  11. 11.
    Dwork, C., Herlihy, M., Waarts, O.: Bounded round numbers. In: Proceeding of 12th PODC, pp. 53–64 (1993)Google Scholar
  12. 12.
    Dwork, C., Waarts, O.: Simple and efficient bounded concurrent timestamping or bounded concurrent timestamp systems are comprehensible! In: Proceeding of 24th ACM STOC, pp. 655–666 (1992)Google Scholar
  13. 13.
    Giakkoupis, G., Woelfel, P.: Randomized mutual exclusion with constant amortized RMR complexity on the DSM. In: Proceeding of 55th FOCS, pp. 504–513 (2014)Google Scholar
  14. 14.
    Golab, W., Hadzilacos, V., Hendler, D., Woelfel, P.: RMR-efficient implementations of comparison primitives using read and write operations. Distr. Comp. 25(2), 109–162 (2012)CrossRefzbMATHGoogle Scholar
  15. 15.
    Haldar, S., Vitányi, P.M.B.: Bounded concurrent timestamp systems using vector clocks. J. ACM 49(1), 101–126 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Herlihy, M., Luchangco, V., Martin, P.A., Moir, M.: Nonblocking memory management support for dynamic-sized data structures. ACM Trans. Comp. Syst. 23(2), 146–196 (2005)CrossRefGoogle Scholar
  17. 17.
    IBM. IBM system/370 extended architecture, principles of operation. Technical report, 1983. Publication No. SA22-7085Google Scholar
  18. 18.
    Israeli, A., Li, M.: Bounded time-stamps. In: Proceeding of 28th FOCS, pp. 371–382 (1987)Google Scholar
  19. 19.
    Israeli, A., Pinhasov, M.: A concurrent time-stamp scheme which is linear in time and space. In: Proceeding of 6th WDAG, pp. 95–109 (1992)Google Scholar
  20. 20.
    Jayanti, P., Petrovic, S.: Efficient and practical constructions of LL/SC variables. In: Proceeding of 22nd PODC, pp. 285–294 (2003)Google Scholar
  21. 21.
    Lamport, L.: A new solution of Dijkstra’s concurrent programming problem. Commun. ACM 17(8), 453–455 (1974)MathSciNetCrossRefzbMATHGoogle Scholar
  22. 22.
    McKenney, P.E., Slingwine, J.D.: Read-copy update: using execution history to solveconcurrency problems. In: Proceeding of 10th PDCS, pp. 509–518 (1998)Google Scholar
  23. 23.
    Michael, M.: Hazard pointers: safe memory reclamation for lock-free objects. IEEE Trans. Parallel Distrib. Syst. 15(6), 491–504 (2004)CrossRefGoogle Scholar
  24. 24.
    Michael, M., Scott, M.L.: Simple, fast, and practical non-blocking and blocking concurrent queue algorithms. In: Proceeding of 15th PODC, pp. 267–275 (1996)Google Scholar
  25. 25.
    P. Tsigas and Y. Zhang. A simple, fast and scalable non-blocking concurrent FIFO queue for shared memory multiprocessor systems. In Proc. of 13th SPAA, pp. 134–143, 2001Google Scholar
  26. 26.
    Vitányi, P., Awerbuch, B.: Atomic shared register access by asynchronous hardware (detailed abstract). In: Proceeding of 27th FOCS, pp. 233–243 (1986)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2016

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of CalgaryCalgaryCanada

Personalised recommendations