首页> 外文会议>International conference on Supercomputing >Dynamic parallelization of single-threaded binary programs using speculative slicing
【24h】

Dynamic parallelization of single-threaded binary programs using speculative slicing

机译:使用推测切片对单线程二进制程序进行动态并行化

获取原文

摘要

The performance of single-threaded programs and legacy binary code is of critical importance in many everyday applications. However, neither can hardware multi-core processors directly speed up single-threaded programs, nor can software automatic parallelizing compilers effectively parallelize legacy binary code and irregular applications. In this paper, we propose a framework and a set of algorithms to dynamically parallelize single-threaded binary programs. Our parallelization is based on program slicing and explores both instruction-level parallelism (ILP) and thread-level parallelism (TLP). To significantly reduce the critical path of the parallel slices, our slicing algorithms exploit speculation to cut rare dependences, and use well-designed program transformations to expose parallelism. Furthermore, because we transparently parallelize binary code at runtime, we perform slicing only on program hot regions. Our experiments demonstrate that the proposed speculative slicing approach extracts more parallelism than any known slicing based parallelization schemes. For the SPEC2000 benchmarks, we can achieve 3x parallelism with infinite number of threads, and 1.8x parallelism with 4 threads.
机译:在许多日常应用程序中,单线程程序和遗留二进制代码的性能至关重要。但是,硬件多核处理器不能直接加速单线程程序,软件自动并行化编译器也不能有效地并行化传统二进制代码和不规则应用程序。在本文中,我们提出了一个框架和一组算法来动态并行化单线程二进制程序。我们的并行化基于程序切片,并探讨了指令级并行性(ILP)和线程级并行性(TLP)。为了显着减少并行切片的关键路径,我们的切片算法利用推测来减少罕见的依赖关系,并使用设计良好的程序转换来揭示并行性。此外,因为我们在运行时透明地并行化二进制代码,所以我们仅在程序热区上执行切片。我们的实验表明,与任何已知的基于切片的并行化方案相比,所提出的推测性切片方法提取的并行度更高。对于SPEC2000基准测试,我们可以在无限数量的线程中实现3倍的并行度,在4个线程中实现1.8倍的并行度。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号