Publicação: Using Barrier Elision to Improve Transactional Code Generation
dc.contributor.author | Honorio, Bruno Chinelato | |
dc.contributor.author | Carvalho, Joao P. L. de | |
dc.contributor.author | Morales, Catalina Munoz | |
dc.contributor.author | Baldassin, Alexandro [UNESP] | |
dc.contributor.author | Araujo, Guido | |
dc.contributor.institution | Universidade Estadual de Campinas (UNICAMP) | |
dc.contributor.institution | Univ Alberta | |
dc.contributor.institution | Universidade Estadual Paulista (UNESP) | |
dc.date.accessioned | 2022-11-30T13:46:31Z | |
dc.date.available | 2022-11-30T13:46:31Z | |
dc.date.issued | 2022-09-01 | |
dc.description.abstract | With chip manufacturers such as Intel, IBM, and ARM offering native support for transactional memory in their instruction set architectures, memory transactions are on the verge of being considered a genuine application tool rather than just an interesting research topic. Despite this recent increase in popularity on the hardware side of transactional memory (HTM), software support for transactional memory (STM) is still scarce and the only compiler with transactional support currently available, the GNU Compiler Collection (GCC), does not generate code that achieves desirable performance. For hybrid solutions of TM (HyTM), which are frameworks that leverage the best aspects of HTM and STM, the subpar performance of the software side, caused by inefficient compiler generated code, might forbid HyTM to offer optimal results. This article extends previous work focused exclusively on STM implementations by presenting a detailed analysis of transactional code generated by GCC in the context of HybridTM implementations. In particular, it builds on previous research of transactional memory support in the Clang/LLVM compiler framework, which is decoupled from any TM runtime, and presents the following novel contributions: (a) it shows that STM's performance overhead, due to an excessive amount of read and write barriers added by the compiler, also impacts the performance of HyTM systems; and (b) it reveals the importance of the previously proposed annotation mechanism to reduce the performance gap between HTM and STM in phased runtime systems. Furthermore, it shows that, by correctly using the annotations on just a few lines of code, it is possible to reduce the total number of instrumented barriers by 95% and to achieve speed-ups of up to 7x when compared to the original code generated by GCC and the Clang compiler.(1) | en |
dc.description.affiliation | Univ Estadual Campinas, UNICAMP, Inst Comp, Av Albert Einstein 1251,Cidade Univ, BR-13083852 Campinas, SP, Brazil | |
dc.description.affiliation | Univ Alberta, Dept Comp Sci, 2-21 Athabasca Hall, Edmonton, AB T6G 2E8, Canada | |
dc.description.affiliation | State Univ Sao Paulo, UNESP, Inst Geociencias & Ciencias Exatas, Dept Estat Matemat Aplicada & Comp, Campus Rio Claro DEMAC,Ave 24 A,1515, BR-13506900 Rio Claro, SP, Brazil | |
dc.description.affiliationUnesp | State Univ Sao Paulo, UNESP, Inst Geociencias & Ciencias Exatas, Dept Estat Matemat Aplicada & Comp, Campus Rio Claro DEMAC,Ave 24 A,1515, BR-13506900 Rio Claro, SP, Brazil | |
dc.description.sponsorship | Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP) | |
dc.description.sponsorship | Center for Computational Engineering and Sciences (CCES) | |
dc.format.extent | 23 | |
dc.identifier | http://dx.doi.org/10.1145/3533318 | |
dc.identifier.citation | Acm Transactions On Architecture And Code Optimization. New York: Assoc Computing Machinery, v. 19, n. 3, 23 p., 2022. | |
dc.identifier.doi | 10.1145/3533318 | |
dc.identifier.issn | 1544-3566 | |
dc.identifier.uri | http://hdl.handle.net/11449/237847 | |
dc.identifier.wos | WOS:000851454700017 | |
dc.language.iso | eng | |
dc.publisher | Assoc Computing Machinery | |
dc.relation.ispartof | Acm Transactions On Architecture And Code Optimization | |
dc.source | Web of Science | |
dc.subject | Transactional memory | |
dc.subject | Debugging | |
dc.title | Using Barrier Elision to Improve Transactional Code Generation | en |
dc.type | Artigo | |
dcterms.rightsHolder | Assoc Computing Machinery | |
dspace.entity.type | Publication | |
unesp.campus | Universidade Estadual Paulista (UNESP), Instituto de Geociências e Ciências Exatas, Rio Claro | pt |
unesp.department | Estatística, Matemática Aplicada e Computação - IGCE | pt |