{"title":"Brief Announcement: Extending Transactional Memory with Atomic Deferral","authors":"Tingzhe Zhou, Victor Luchangco, Michael F. Spear","doi":"10.1145/3087556.3087600","DOIUrl":null,"url":null,"abstract":"Atomic deferral is a language-level mechanism for transactional memory (TM) that enables programmers to move output and long-running operations out of a transaction's body without sacrificing serializability: the deferred operation appears to execute as part of its parent transaction, even though it does not make use of TM. We introduce the first implementation of atomic deferral, based on transaction-friendly locks; describe enhancements to its API; and demonstrate its effectiveness. Our experiments show that atomic deferral is useful for its original purpose of moving output operations out of transactions, and also for moving expensive library calls out of transactions. The result is a significant improvement in performance for the PARSEC dedup kernel, for both software and hardware TM systems.","PeriodicalId":162994,"journal":{"name":"Proceedings of the 29th ACM Symposium on Parallelism in Algorithms and Architectures","volume":"70 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-07-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 29th ACM Symposium on Parallelism in Algorithms and Architectures","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3087556.3087600","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Atomic deferral is a language-level mechanism for transactional memory (TM) that enables programmers to move output and long-running operations out of a transaction's body without sacrificing serializability: the deferred operation appears to execute as part of its parent transaction, even though it does not make use of TM. We introduce the first implementation of atomic deferral, based on transaction-friendly locks; describe enhancements to its API; and demonstrate its effectiveness. Our experiments show that atomic deferral is useful for its original purpose of moving output operations out of transactions, and also for moving expensive library calls out of transactions. The result is a significant improvement in performance for the PARSEC dedup kernel, for both software and hardware TM systems.