skip to main content
research-article

Supporting Time-Based QoS Requirements in Software Transactional Memory

Published: 08 July 2015 Publication History

Abstract

Software transactional memory (STM) is an optimistic concurrency control mechanism that simplifies parallel programming. However, there has been little interest in its applicability to reactive applications in which there is a required response time for certain operations. We propose supporting such applications by allowing programmers to associate time with atomic blocks in the form of deadlines and quality-of-service (QoS) requirements. Based on statistics of past executions, we adjust the execution mode of transactions by decreasing the level of optimism as the deadline approaches. In the presence of concurrent deadlines, we propose different conflict resolution policies. Execution mode switching mechanisms allow the meeting of multiple deadlines in a consistent manner, with potential QoS degradations being split fairly among several threads as contention increases, and avoiding starvation. Our implementation consists of extensions to an STM runtime that allow gathering statistics and switching execution modes. We also propose novel contention managers adapted to transactional workloads subject to deadlines. The experimental evaluation shows that our approaches significantly improve the likelihood of a transaction meeting its deadline and QoS requirement, even in cases where progress is hampered by conflicts and other concurrent transactions with deadlines.

References

[1]
Mohammad Ansari, Mikel Luján, Christos Kotselidis, Kim Jarvis, Chris C. Kirkham, and Ian Watson. 2009. Steal-on-Abort: Improving transactional memory performance through dynamic transaction reordering. In High Performance Embedded Architectures and Compilers. Lecture Notes in Computer Science, Vol. 5409. Springer, 4--18.
[2]
Chaitanya Belwal and Albert M. K. Chen. 2011. Scheduling conditions for real-time software transactional memory. IEEE Embedded Systems Letters 3, 3, 93--96.
[3]
John M. Calandrino, Hennadiy Leontyev, Aaron Block, UmaMaheswari C. Devi, and James H. Anderson. 2006. LITMUSRT: A testbed for empirically comparing real-time multiprocessor schedulers. In Proceedings of the 27th IEEE International Real-Time Systems Symposium (RTSS’06).
[4]
Dave Dice, Ori Shalev, and Nir Shavit. 2006. Transactional locking II. In Proceedings of the 20th International Symposium on Distributed Computing (DISC’06).
[5]
Shlomi Dolev, Danny Hendler, and Adi Suissa. 2008. CAR-STM: Scheduling-based collision avoidance and resolution for software transactional memory. In Proceedings of the 27th Annual ACM Symposium on Principles of Distributed Computing (PODC’08).
[6]
Aleksandar Dragojević, Rachid Guerraoui, and Michał Kapałka. 2009a. Stretching transactional memory. In Proceedings of the ACM SIGPLAN Conference on Programming Languages Design and Implementation (PLDI’09).
[7]
Aleksandar Dragojević, Rachid Guerraoui, Anmol V. Singh, and Vasu Singh. 2009b. Preventing versus curing: Avoiding conflicts in transactional memories. In Proceedings of the 28th ACM Symposium on Principles of Distributed Computing (PODC’09).
[8]
Sherif F. Fahmy, Binoy Ravindran, and E. Douglas Jensen. 2009a. On bounding response times under software transactional memory in distributed multiprocessor real-time systems. In Proceedings of the Conference on Design, Automation, and Test in Europe (DATE’09).
[9]
Sherif F. Fahmy, Binoy Ravindran, and E. Douglas Jensen. 2009b. Response time analysis of software transactional memory-based distributed real-time systems. In Proceedings of the ACM Symposium on Applied Computing (SAC’09).
[10]
Pascal Felber, Christof Fetzer, and Torvald Riegel. 2008. Dynamic performance tuning of word-based software transactional memory. In Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP’08).
[11]
Keir Fraser. 2004. Practical Lock-Freedom. Ph.D. Dissertation, UCAM-CL-TR-579. Computer Laboratory, University of Cambridge.
[12]
Maurice Herlihy. 2005. SXM: C# Software Transactional Memory. Unpublished manuscript. Brown University, Providence, RI.
[13]
Yossi Lev, Victor Luchangco, Virendra Marathe, Mark Moir, Dan Nussbaum, and Marek Olszewski. 2009. Anatomy of a scalable software transactional memory. In Proceedings of the 4th ACM SIGPLAN Workshop on Transactional Computing (TRANSACT’09).
[14]
Daniel Lupei, Bogdan Simion, Don Pinto, Matthew Misler, Mihai Burcea, William Krick, and Cristiana Amza. 2010. Transactional memory support for scalable and transparent parallelization of multiplayer games. In Proceedings of the 5th ACM European Conference on Computer Systems (EuroSys’10).
[15]
Walther Maldonado, Patrick Marlier, Pascal Felber, Julia Lawall, Gilles Muller, and Etienne Riviere. 2011. Deadline-aware scheduling for software transactional memory. In Proceedings of the 41st Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN’11).
[16]
Walther Maldonado, Patrick Marlier, Pascal Felber, Adi Suissa, Danny Hendler, Alexandra Fedorova, Julia L. Lawall, and Gilles Muller. 2010. Scheduling support for transactional memory contention management. In Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP’10).
[17]
Chi Cao Minh, JaeWoong Chung, Christos Kozyrakis, and Kunle Olukotun. 2008. STAMP: Stanford transactional applications for multi-processing. In Proceedings of the IEEE International Symposium on Workload Characterization (HSWC’08).
[18]
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. 2008. Design and implementation of transactional constructs for C/C++. In Proceedings of the 23rd ACM SIGPLAN Conference on Object-Oriented Programming Systems Languages and Applications (OOPSLA’08).
[19]
Lothar Pantel and Lars C. Wolf. 2002. On the impact of delay on real-time multiplayer games. In Proceedings of the International Workshop on Network and Operating Systems Support for Digital Audio and Video (NOSSDAV’02).
[20]
Toufik Sarni, Audrey Queudet, and Patrick Valduriez. 2009. Real-time support for software transactional memory. In Proceedings of the 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA’09).
[21]
William N. Scherer III and Michael L. Scott. 2005. Advanced contention management for dynamic software transactional memory. In Proceedings of the 24th Annual ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing (PODC’05).
[22]
Martin Schoeberl, Florian Brandner, and Jan Vitek. 2010. RTTM: Real-time transactional memory. In Proceedings of the 25th ACM Symposium on Applied Computing (SAC’10).
[23]
Michael F. Spear, Michael Silverman, Luke Dalessandro, Maged M. Michael, and Michael L. Scott. 2008. Implementing and exploiting inevitability in software transactional memory. In Proceedings of the 37th International Conference on Parallel Processing (ICPP’08).
[24]
Jaswanth Sreeram, Romain Cledat, Tushar Kumar, and Santosh Pande. 2007. RSTM: A relaxed consistency software transactional memory for multicores. In Proceedings of the 16th International Conference on Parallel Architecture and Compilation Techniques (PACT’07).
[25]
Jeffrey S. Vitter. 1985. Random sampling with a reservoir. ACM Transactions on Mathematical Software 11, 1, 37--57.
[26]
Haris Volos, Andres Jaan Tack, Neelam Goyal, Michael M. Swift, and Adam Welc. 2009. xCalls: Safe I/O in memory transactions. In Proceedings of the 4th ACM European Conference on Computer Systems (EuroSys’09).
[27]
Qingping Wang, Sameer Kulkarni, John Cavazos, and Michael Spear. 2012. A transactional memory with automatic performance tuning. ACM Transactions on Architecture and Code Optimization 8, 4, Article No. 54.
[28]
Adam Welc, Bratin Saha, and Ali-Reza Adl-Tabatabai. 2008. Irrevocable transactions and their applications. In Proceedings of the 20th Annual Symposium on Parallelism in Algorithms and Architectures (SPAA’08).
[29]
Ting Yang, Tongping Liu, Emery D. Berger, Scott F. Kaplan, and J. Eliot B. Moss. 2008. Redline: First class support for interactivity in commodity operating systems. In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI’08).
[30]
Richard M. Yoo and Hsien-Hsin S. Lee. 2008. Adaptive transaction scheduling for transactional memory systems. In Proceedings of the 20th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA’08).
[31]
Lihang Zhao, Woojin Choi, and Jeff Draper. 2012. SEL-TM: Selective eager-lazy management for improved concurrency in transactional memory. In Proceedings of the 26th IEEE International Parallel & Distributed Processing Symposium (IPDPS’’12).

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Parallel Computing
ACM Transactions on Parallel Computing  Volume 2, Issue 2
July 2015
160 pages
ISSN:2329-4949
EISSN:2329-4957
DOI:10.1145/2798443
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 08 July 2015
Accepted: 01 February 2015
Revised: 01 July 2014
Received: 01 August 2013
Published in TOPC Volume 2, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Contention management
  2. fairness
  3. quality of service
  4. scheduling
  5. transactional memory

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • European Community's Seventh Framework Programme

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Feb 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media