Extending Transactional Memory with Atomic Deferral

Authors Tingzhe Zhou, Victor Luchangco, Michael Spear



PDF
Thumbnail PDF

File

LIPIcs.OPODIS.2017.7.pdf
  • Filesize: 0.62 MB
  • 17 pages

Document Identifiers

Author Details

Tingzhe Zhou
Victor Luchangco
Michael Spear

Cite As Get BibTex

Tingzhe Zhou, Victor Luchangco, and Michael Spear. Extending Transactional Memory with Atomic Deferral. In 21st International Conference on Principles of Distributed Systems (OPODIS 2017). Leibniz International Proceedings in Informatics (LIPIcs), Volume 95, pp. 7:1-7:17, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2018) https://doi.org/10.4230/LIPIcs.OPODIS.2017.7

Abstract

This paper introduces atomic deferral, an extension to TM that allows programmers to move long-running or irrevocable operations out of a transaction while maintaining serializability: the transaction and its de- ferred operation appear to execute atomically from the perspective of other transactions. Thus, program- mers can adapt lock-based programs to exploit TM with relatively little effort and without sacrificing scalability by atomically deferring the problematic operations. We demonstrate this with several use cases for atomic deferral, as well as an in-depth analysis of its use on the PARSEC dedup benchmark, where we show that atomic deferral enables TM to be competitive with well-designed lock-based code.

Subject Classification

Keywords
  • Transactional Memory
  • Concurrency
  • Synchronization
  • I/O

Metrics

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

References

  1. Christian Bienia, Sanjeev Kumar, Jaswinder Pal Singh, and Kai Li. The PARSEC Benchmark Suite: Characterization and Architectural Implications. In Proceedings of the 17th PACT, Toronto, ON, Canada, oct 2008. Google Scholar
  2. Brian D. Carlstrom, Austen McDonald, Hassan Chafi, JaeWoong Chung, Chi Cao Minh, Christos Kozyrakis, and Kunle Olukotun. The Atomos Transactional Programming Language. In Proceedings of the 27th PLDI, jun 2006. Google Scholar
  3. Brian Demsky and Navid Tehrany. Integrating File Operations into Transactional Memory. Journal of Parallel and Distributed Computing, 71(10):1293-1304, 2011. Google Scholar
  4. Nuno Diegues, Paolo Romano, and Luis Rodrigues. Virtues and Limitations of Commodity Hardware Transactional Memory. In Proceedings of the 23rd PACT, Edmonton, AB, Canada, aug 2014. Google Scholar
  5. Free Software Foundation. Transactional Memory in GCC [online]. 2016. URL: http://gcc.gnu.org/wiki/TransactionalMemory.
  6. Tim Harris, Simon Marlow, Simon Peyton Jones, and Maurice Herlihy. Composable Memory Transactions. In Proceedings of the 10th PPoPP, Chicago, IL, jun 2005. Google Scholar
  7. Ahmed Hassan, Roberto Palmieri, and Binoy Ravindran. Optimistic Transactional Boosting. In Proceedings of the 19th PPoPP, Orlando, FL, feb 2014. Google Scholar
  8. Maurice Herlihy and Eric Koskinen. Transactional boosting: A methodology for highly-concurrent transactional objects. In Proceedings of the 13th PPoPP, Salt Lake City, UT, feb 2008. Google Scholar
  9. Maurice P. Herlihy and J. Eliot B. Moss. Transactional Memory: Architectural Support for Lock-Free Data Structures. In Proceedings of the 20th ISCA, San Diego, CA, 1993. Google Scholar
  10. ISO/IEC JTC 1/SC 22/WG 21. Technical Specification for C++ Extensions for Transactional Memory, May 2015. Google Scholar
  11. Tomas Karnagel, Roman Dementiev, Ravi Rajwar, Konrad Lai, Thomas Legler, Benjamin Schlegel, and Wolfgang Lehner. Improving In-Memory Database Index Performance with Intel Transactional Synchronization Extensions. In Proceedings of the 20th HPCA, Orlando, FL, February 2014. Google Scholar
  12. Matthew Kilgore, Stephen Louie, Chao Wang, Tingzhe Zhou, Wenjia Ruan, Yujie Liu, , and Michael Spear. Transactional Tools for the Third Decade. In Proceedings of the 10th TRANSACT, Portland, OR, jun 2015. Google Scholar
  13. Yujie Liu, Stephan Diestelhorst, and Michael Spear. Delegation and Nesting in Best Effort Hardware Transactional Memory. In Proceedings of the 24th SPAA, Pittsburgh, PA, jun 2012. Google Scholar
  14. Takuya Nakaike, Rei Odaira, Matthew Gaudet, Maged M. Michael, and Hisanobu Tomari. Quantitative Comparison of Hardware Transactional Memory for Blue Gene/Q, zEnterprise EC12, Intel Core, and POWER8. In Proceedings of the 42nd ISCA, Portland, OR, June 2015. Google Scholar
  15. Yang Ni, Vijay Menon, Ali-Reza Adl-Tabatabai, Antony Hosking, Rick Hudson, Eliot Moss, Bratin Saha, and Tatiana Shpeisman. Open Nesting in Software Transactional Memory. In Proceedings of the 12th PPoPP, San Jose, CA, mar 2007. Google Scholar
  16. Yang Ni, Adam Welc, Ali-Reza Adl-Tabatabai, Moshe Bach, Sion Berkowits, James Cownie, Robert Geva, Sergey Kozhukow, Ravi Narayanaswamy, Jeffrey Olivier, Serguei Preis, Bratin Saha, Ady Tal, and Xinmin Tian. Design and Implementation of Transactional Constructs for C/C++. In Proceedings of the 23rd OOPSLA, Nashville, TN, USA, 2008. Google Scholar
  17. Christopher J. Rossbach, Owen S. Hofmann, Donald E. Porter, Hany E. Ramadan, Aditya Bhandari, and Emmett Witchel. TxLinux: Using and Managing Transactional Memory in an Operating System. In Proceedings of the 21st SOSP, Stevenson, WA, oct 2007. Google Scholar
  18. Wenjia Ruan, Trilok Vyas, Yujie Liu, and Michael Spear. Transactionalizing Legacy Code: An Experience Report Using GCC and Memcached. In Proceedings of the 19th ASPLOS, Salt Lake City, UT, mar 2014. Google Scholar
  19. Michael Spear, Virendra Marathe, Luke Dalessandro, and Michael Scott. Privatization Techniques for Software Transactional Memory (POSTER). In Proceedings of the 26th PODC, Portland, OR, 2007. Google Scholar
  20. Haris Volos, Andres Jaan Tack, Neelam Goyal, Michael Swift, and Adam Welc. xCalls: Safe I/O in Memory Transactions. In Proceedings of the EuroSys2009 Conference, Nuremberg, Germany, March 2009. Google Scholar
  21. Chao Wang, Yujie Liu, and Michael Spear. Transaction-Friendly Condition Variables. In Proceedings of the 26th SPAA, Prague, Czech Republic, jun 2014. Google Scholar
  22. Lingxiang Xiang and Michael Scott. Software Partitioning of Hardware Transactions. In Proceedings of the 20th PPoPP, San Francisco, CA, feb 2015. Google Scholar
  23. Tingzhe Zhou, Victor Luchangco, and Michael Spear. Brief Announcement: Extending Transactional Memory with Atomic Deferral. In Proceedings of the 29th SPAA, Washington DC, July 2017. Google Scholar
  24. Tingzhe Zhou and Michael Spear. The Mimir Approach to Transactional Output. In Proceedings of the 11th TRANSACT, Barcelona, Spain, mar 2016. Google Scholar
  25. Tingzhe Zhou, PanteA Zardoshti, and Michael Spear. Practical Experience with Transactional Lock Elision. In Proceedings of the 46th ICPP, Bristol, UK, August 2017. Google Scholar
  26. Craig Zilles and Lee Baugh. Extending Hardware Transactional Memory to Support Non-Busy Waiting and Non-Transactional Actions. In Proceedings of the 1st TRANSACT, Ottawa, ON, Canada, jun 2006. Google Scholar
  27. Ferad Zyulkyarov, Vladimir Gajinov, Osman Unsal, Adrian Cristal, Eduard Ayguade, Tim Harris, and Mateo Valero. Atomic Quake: Using Transactional Memory in an Interactive Multiplayer Game Server. In Proceedings of the 14th PPoPP, Raleigh, NC, feb 2009. Google Scholar
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