【24h】

Tuning compiler optimizations for simultaneous multithreading

机译:调整编译器优化以同时进行多线程

获取原文

摘要

Compiler optimizations are often driven by specific assumptions about the underlying architecture and implementation of the target machine. For example, when targeting shared-memory multiprocessors, parallel programs are compiled to minimize sharing, in order to decrease high-cost, inter-processor communication. This paper reexamines several compiler optimizations in the context of simultaneous multithreading (SMT), a processor architecture that issues instructions from multiple threads to the functional units each cycle. Unlike shared-memory multiprocessors, SMT provides and benefits from fine-grained sharing of processor and memory system resources; unlike current multiprocessors, SMT exposes and benefits from inter-thread instruction-level parallelism when hiding latencies. Therefore, optimizations that are appropriate for these conventional machines may be inappropriate for SMT. We revisit three optimizations in this light: loop-iteration scheduling, software speculative execution, and loop tiling. Our results show that all three optimizations should be applied differently in the context of SMT architectures: threads should be parallelized with a cyclic, rather than a blocked algorithm; non-loop programs should not be software speculated and compilers no longer need to be concerned about precisely sizing tiles to match cache sizes. By following these new guidelines compilers can generate code that improves the performance of programs executing on SMT machines.
机译:编译器优化通常由对目标计算机的基础体系结构和实现的特定假设所驱动。例如,以共享内存多处理器为目标时,将编译并行程序以最大程度地减少共享,以减少高成本的处理器间通信。本文在同时多线程(SMT)的背景下重新检查了几种编译器优化,SMT是一种处理器体系结构,每个周期从多个线程向功能单元发出指令。与共享内存多处理器不同,SMT提供了处理器和内存系统资源的细粒度共享并从中受益。与当前的多处理器不同,当隐藏延迟时,SMT公开并受益于线程间指令级并行性。因此,适用于这些常规机器的优化可能不适用于SMT。我们从这个角度重新审视了三个优化:循环迭代计划,软件推测执行和循环切片。我们的结果表明,在SMT体系结构的上下文中,所有三种优化应以不同的方式应用:线程应使用循环算法而不是分块算法并行化;非循环程序不应由软件推测,并且编译器不再需要担心精确调整切片大小以匹配高速缓存大小。通过遵循这些新准则,编译器可以生成代码,以提高在SMT计算机上执行的程序的性能。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号