{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:48:49Z","timestamp":1750308529905,"version":"3.41.0"},"reference-count":31,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2015,7,8]],"date-time":"2015-07-08T00:00:00Z","timestamp":1436313600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"European Community's Seventh Framework Programme","award":["216852"],"award-info":[{"award-number":["216852"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Parallel Comput."],"published-print":{"date-parts":[[2015,7,8]]},"abstract":"<jats:p>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.<\/jats:p>","DOI":"10.1145\/2779621","type":"journal-article","created":{"date-parts":[[2015,7,10]],"date-time":"2015-07-10T14:10:15Z","timestamp":1436537415000},"page":"1-30","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Supporting Time-Based QoS Requirements in Software Transactional Memory"],"prefix":"10.1145","volume":"2","author":[{"given":"Walther","family":"Maldonado","sequence":"first","affiliation":[{"name":"University of Neuch\u00e2tel, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Patrick","family":"Marlier","sequence":"additional","affiliation":[{"name":"University of Neuch\u00e2tel, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Pascal","family":"Felber","sequence":"additional","affiliation":[{"name":"University of Neuch\u00e2tel, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Julia","family":"Lawall","sequence":"additional","affiliation":[{"name":"Inria\/LIP6\/UPMC\/Sorbonne University, France"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Gilles","family":"Muller","sequence":"additional","affiliation":[{"name":"Inria\/LIP6\/UPMC\/Sorbonne University, France"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Etienne","family":"Rivi\u00e8re","sequence":"additional","affiliation":[{"name":"University of Neuch\u00e2tel, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2015,7,8]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-92990-1_3"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/LES.2011.2161570"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTSS.2006.27"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1007\/11864219_14"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1400751.1400769"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542494"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1582716.1582725"},{"volume-title":"Proceedings of the Conference on Design, Automation, and Test in Europe (DATE\u201909)","author":"Fahmy Sherif F.","key":"e_1_2_1_8_1","unstructured":"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\u201909) . 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\u201909)."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1529282.1529353"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1345206.1345241"},{"volume-title":"Computer Laboratory","author":"Fraser Keir","key":"e_1_2_1_11_1","unstructured":"Keir Fraser . 2004. Practical Lock-Freedom . Ph.D. Dissertation , UCAM-CL-TR-579. Computer Laboratory , University of Cambridge . Keir Fraser. 2004. Practical Lock-Freedom. Ph.D. Dissertation, UCAM-CL-TR-579. Computer Laboratory, University of Cambridge."},{"key":"e_1_2_1_12_1","volume-title":"SXM: C# Software Transactional Memory. Unpublished manuscript","author":"Herlihy Maurice","year":"2005","unstructured":"Maurice Herlihy . 2005 . SXM: C# Software Transactional Memory. Unpublished manuscript . Brown University, Providence , RI. Maurice Herlihy. 2005. SXM: C# Software Transactional Memory. Unpublished manuscript. Brown University, Providence, RI."},{"key":"e_1_2_1_13_1","volume-title":"Proceedings of the 4th ACM SIGPLAN Workshop on Transactional Computing (TRANSACT\u201909)","author":"Lev Yossi","year":"2009","unstructured":"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\u201909) . 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\u201909)."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1755913.1755919"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2011.5958224"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1693453.1693465"},{"key":"e_1_2_1_17_1","volume-title":"Proceedings of the IEEE International Symposium on Workload Characterization (HSWC\u201908)","author":"Minh Chi Cao","year":"2008","unstructured":"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\u201908) . 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\u201908)."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1449764.1449780"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/507670.507674"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTCSA.2009.57"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1073814.1073861"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1774088.1774158"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPP.2008.55"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.5555\/1299042.1299092"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/3147.3165"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1519065.1519093"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2086696.2086733"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1378533.1378584"},{"key":"e_1_2_1_29_1","volume-title":"Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201908)","author":"Yang Ting","year":"2008","unstructured":"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\u201908) . 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\u201908)."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1378533.1378564"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2012.19"}],"container-title":["ACM Transactions on Parallel Computing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2779621","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2779621","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T18:55:52Z","timestamp":1750272952000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2779621"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015,7,8]]},"references-count":31,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2015,7,8]]}},"alternative-id":["10.1145\/2779621"],"URL":"https:\/\/doi.org\/10.1145\/2779621","relation":{},"ISSN":["2329-4949","2329-4957"],"issn-type":[{"type":"print","value":"2329-4949"},{"type":"electronic","value":"2329-4957"}],"subject":[],"published":{"date-parts":[[2015,7,8]]},"assertion":[{"value":"2013-08-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-02-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-07-08","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}