The Teleportation Design Pattern for Hardware Transactional Memory

Authors Nachshon Cohen, Maurice Herlihy, Erez Petrank, Elias Wald

Thumbnail PDF


  • Filesize: 1.47 MB
  • 16 pages

Document Identifiers

Author Details

Nachshon Cohen
Maurice Herlihy
Erez Petrank
Elias Wald

Cite AsGet BibTex

Nachshon Cohen, Maurice Herlihy, Erez Petrank, and Elias Wald. The Teleportation Design Pattern for Hardware Transactional Memory. In 21st International Conference on Principles of Distributed Systems (OPODIS 2017). Leibniz International Proceedings in Informatics (LIPIcs), Volume 95, pp. 10:1-10:16, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2018)


We identify a design pattern for concurrent data structures, called teleportation, that uses best- effort hardware transactional memory to speed up certain kinds of legacy concurrent data struc- tures. Teleportation unifies and explains several existing data structure designs, and it serves as the basis for novel approaches to reducing the memory traffic associated with fine-grained locking, and with hazard pointer management for memory reclamation.
  • Hardware transactional memory
  • concurrent data structures


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


  1. Wonsun Ahn, Shanxiang Qi, M. Nicolaides, Josep Torrellas, Jae-Woo Lee, Xing Fang, Samuel P. Midkiff, and David C. Wong. Bulkcompiler: high-performance sequential consistency through cooperative compiler and hardware support. In David H. Albonesi, Margaret Martonosi, David I. August, and José F. Martínez, editors, 42st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-42 2009), December 12-16, 2009, New York, New York, USA, pages 133-144. ACM, 2009. URL:
  2. Dan Alistarh, Patrick Eugster, Maurice Herlihy, Alexander Matveev, and Nir Shavit. Stacktrack: an automated transactional approach to concurrent memory reclamation. In Dick C. A. Bulterman, Herbert Bos, Antony I. T. Rowstron, and Peter Druschel, editors, Ninth Eurosys Conference 2014, EuroSys 2014, Amsterdam, The Netherlands, April 13-16, 2014, pages 25:1-25:14. ACM, 2014. URL:
  3. Dan Alistarh, William M Leiserson, Alexander Matveev, and Nir Shavit. Threadscan: Automatic and scalable memory reclamation. In SPAA, pages 123-132, 2015. Google Scholar
  4. R. Bayer and M. Schkolnick. Concurrency of operations on b-trees. Acta Informatica, 9:1-21, 1977. Google Scholar
  5. Anastasia Braginsky, Alex Kogan, and Erez Petrank. Drop the anchor: lightweight memory management for non-blocking data structures. In Guy E. Blelloch and Berthold Vöcking, editors, 25th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA '13, Montreal, QC, Canada - July 23 - 25, 2013, pages 33-42. ACM, 2013. URL:
  6. Trevor Alexander Brown. Reclaiming memory for lock-free data structures: There has to be a better way. In PODC, PODC '15, pages 261-270, 2015. Google Scholar
  7. Harold W. Cain, Maged M. Michael, Brad Frey, Cathy May, Derek Williams, and Hung Q. Le. Robust architectural support for transactional memory in the power architecture. In Avi Mendelson, editor, The 40th Annual International Symposium on Computer Architecture, ISCA'13, Tel-Aviv, Israel, June 23-27, 2013, pages 225-236. ACM, 2013. URL:
  8. Nachshon Cohen and Erez Petrank. Automatic memory reclamation for lock-free data structures. In OOPSLA, OOPSLA '15, pages 260-279, 2015. Google Scholar
  9. Nachshon Cohen and Erez Petrank. Efficient memory management for lock-free data structures with optimistic access. In SPAA, SPAA '15, pages 254-263, 2015. Google Scholar
  10. David L. Detlefs, Paul A. Martin, Mark Moir, and Guy L. Steele, Jr. Lock-free reference counting. In PODC, PODC '01, pages 190-199, 2001. Google Scholar
  11. Aleksandar Dragojevic, Maurice Herlihy, Yossi Lev, and Mark Moir. On the power of hardware transactional memory to simplify memory management. In PODC, pages 99-108, 2011. Google Scholar
  12. Keir Fraser. Practical lock-freedom. Technical Report UCAM-CL-TR-579, University of Cambridge, Computer Laboratory, 2004. URL:
  13. Anders Gidenstam, Marina Papatriantafilou, Håkan Sundell, and Philippas Tsigas. Efficient and reliable lock-free memory reclamation based on reference counting. IEEE Trans. Parallel Distrib. Syst., 20(8):1173-1187, 2009. URL:
  14. Tim Harris. A pragmatic implementation of non-blocking linked-lists. In DISC, pages 300 - -314, 2001. Google Scholar
  15. Thomas E. Hart, Paul E. McKenney, Angela Demke Brown, and Jonathan Walpole. Performance of memory reclamation for lockless synchronization. J. Parallel Distrib. Comput., 67(12):1270-1285, 2007. URL:
  16. Steve Heller, Maurice Herlihy, Victor Luchangco, Mark Moir, William N. Scherer III, and Nir Shavit. A lazy concurrent list-based set algorithm. In OPODIS, pages 3-16, 2005. Google Scholar
  17. Maurice Herlihy, Victor Luchangco, and Mark Moir. The repeat offender problem: A mechanism for supporting dynamic-sized, lock-free data structures. In DISC, DISC '02, pages 339-353, 2002. Google Scholar
  18. Maurice Herlihy and J. Eliot B. Moss. Transactional memory: architectural support for lock-free data structures. In ISCA, pages 289-300, 1993. Google Scholar
  19. Maurice Herlihy and Nir Shavit. The Art of Multiprocessor Programming. Morgan Kaufmann, 2008. URL:
  20. Intel Corporation. Transactional Synchronization in Haswell. Retrieved from, 8 September 2012.
  21. Nancy Lynch and Mark Tuttle. An Introduction to Input/Output automata. Technical Memo MIT/LCS/TM-373, Massachusetts Institute of Technology, nov 1988. Google Scholar
  22. Darko Makreshanski, Justin Levandoski, and Ryan Stutsman. To lock, swap, or elide: On the interplay of hardware transactional memory and lock-free indexing. In VLDB, volume 8, No. 11, 2015. URL:
  23. P.E. McKenney and J.D. Slingwine. Read-copy update: Using execution history to solve concurrency problems. In PDCS, pages 509-518, 1998. Google Scholar
  24. Maged M. Michael. Hazard pointers: Safe memory reclamation for lock-free objects. IEEE Trans. Parallel Distrib. Syst., 15(6):491-504, 2004. URL:
  25. R. Rajwar and J. Goodman. Speculative lock elision: Enabling highly concurrent multithreaded execution. In MICRO, pages 294-305, 2001. URL:
  26. R. Rajwar and J. Goodman. Transactional lock-free execution of lock-based programs. In ASPLOS, pages 5-17, 2002. Google Scholar
  27. Hakan Sundell. Wait-free reference counting and memory management. In IPDPS, IPDPS '05, pages 24.2-, 2005. Google Scholar
  28. J. Valois. Lock-free linked lists using compare-and-swap. In PODC, pages 214-222, 1995. URL:
Questions / Remarks / Feedback

Feedback for Dagstuhl Publishing

Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail