首页> 外文会议>2018 Symposium on High Performance Computing Systems >On the Efficiency of Transactional Code Generation: A GCC Case Study
【24h】

On the Efficiency of Transactional Code Generation: A GCC Case Study

机译:交易代码生成的效率:GCC案例研究

获取原文
获取原文并翻译 | 示例

摘要

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.
机译:随着芯片制造商正在为其执行建立本机支持,内存交易正变得越来越流行。尽管当前的Intel和IBM微处理器在其指令集体系结构中支持事务处理,但是在编译器和运行时方面仍有改进的空间。尽管性能仍然是其广泛使用的障碍,但GNU编译器集合(GCC)对事务具有语言支持。在本文中,我们对GCC事务代码生成进行了最新研究,并突出了主要性能损失的来源。我们的研究表明,效率低下的主要根源之一是编译器插入的读写障碍。大部分这种工具都是必需的,因为编译器无法在编译时确定是否将同时访问内存区域。为了克服这些限制,我们提出了新的语言构造,使程序员可以指定哪些内存位置不应使用任何工具。初步的实验结果表明,与使用GCC生成的原始代码相比,使用我们提出的语言支持消除障碍时,可以实现很好的加速效果。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号