Publicação: On the efficiency of transactional code generation: A GCC case study
dc.contributor.author | Honorio, Bruno Chinelato [UNESP] | |
dc.contributor.author | De Carvalho, Joao Paulo Labegalini | |
dc.contributor.author | Baldassin, Alexandro Jose [UNESP] | |
dc.contributor.institution | Universidade Estadual Paulista (Unesp) | |
dc.contributor.institution | Universidade Estadual de Campinas (UNICAMP) | |
dc.date.accessioned | 2019-10-06T17:16:23Z | |
dc.date.available | 2019-10-06T17:16:23Z | |
dc.date.issued | 2018-10-01 | |
dc.description.abstract | Memory transactions are becoming more popular as chip manufacturers are building native support for their execution. Although current Intel and IBM microprocessors support transactions in their instruction set architectures, there is still room for improvement in the compiler and runtime front. The GNU Compiler Collection (GCC) has language support for transactions, although performance is still a hindrance for its wider use. In this paper we perform an up-to-date study of the GCC transactional code generation and highlight where the main performance losses are coming from. Our study indicates that one of the main source of inefficiency is the read and write barriers inserted by the compiler. Most of this instrumentation is required because the compiler cannot determine, at compile time, whether a region of memory will be accessed concurrently or not. To overcome those limitations, we propose new language constructs that allow programmers to specify which memory locations should be free from instrumentation. Initial experimental results show a good speedup when barriers are elided using our proposed language support compared to the original code generated by GCC. | en |
dc.description.affiliation | São Paulo State University UNESP | |
dc.description.affiliation | University of Campinas UNICAMP | |
dc.description.affiliationUnesp | São Paulo State University UNESP | |
dc.format.extent | 184-190 | |
dc.identifier | http://dx.doi.org/10.1109/WSCAD.2018.00037 | |
dc.identifier.citation | Proceedings - 2018 Symposium on High-Performance Computing Systems, WSCAD 2018, p. 184-190. | |
dc.identifier.doi | 10.1109/WSCAD.2018.00037 | |
dc.identifier.scopus | 2-s2.0-85069848170 | |
dc.identifier.uri | http://hdl.handle.net/11449/190536 | |
dc.language.iso | eng | |
dc.relation.ispartof | Proceedings - 2018 Symposium on High-Performance Computing Systems, WSCAD 2018 | |
dc.rights.accessRights | Acesso aberto | |
dc.source | Scopus | |
dc.subject | Compilers | |
dc.subject | Optimization | |
dc.subject | Over-instrumentation | |
dc.subject | Parallel programming | |
dc.subject | Transactional memory | |
dc.title | On the efficiency of transactional code generation: A GCC case study | en |
dc.type | Trabalho apresentado em evento | |
dspace.entity.type | Publication | |
unesp.author.lattes | 4738829911864396[3] | |
unesp.author.orcid | 0000-0001-8824-3055[3] | |
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 |