...
首页> 外文期刊>Parallel and Distributed Systems, IEEE Transactions on >Spotting Code Optimizations in Data-Parallel Pipelines through PeriSCOPE
【24h】

Spotting Code Optimizations in Data-Parallel Pipelines through PeriSCOPE

机译:通过PeriSCOPE在数据并行管道中发现代码优化

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

摘要

To minimize the amount of data-shuffling I/O that occurs between the pipeline stages of a distributed data-parallel program, its procedural code must be optimized with full awareness of the pipeline that it executes in. Unfortunately, neither pipeline optimizers nor traditional compilers examine both the pipeline and procedural code of a data-parallel program so programmers must either hand-optimize their program across pipeline stages or live with poor performance. To resolve this tension between performance and programmability, this paper describes PeriSCOPE, which automatically optimizes adata-parallel program’s procedural code in the context of data flow that is reconstructed from the program’s pipeline topology. Such optimizations eliminate unnecessary code and data, perform early data filtering, and calculate small derived values (e.g., predicates) earlier in the pipeline, so that less data—sometimes much less data—is transferred between pipeline stages. PeriSCOPE further leverages symbolic execution to enlarge the scope of such optimizations by eliminating dead code. We describe how PeriSCOPE is implemented and evaluate its effectiveness on real production jobs.
机译:为了最大程度地减少分布式数据并行程序的流水线阶段之间发生的数据混排I / O数量,必须在充分了解其执行流水线的情况下优化其过程代码。不幸的是,流水线优化器和传统编译器都没有检查数据并行程序的流水线和过程代码,因此程序员必须跨流水线阶段手动优化其程序,否则性能会很差。为了解决性能与可编程性之间的这种紧张关系,本文介绍了PeriSCOPE,它可以根据从程序的管道拓扑结构重建的数据流,自动优化数据并行程序的过程代码。这样的优化消除了不必要的代码和数据,执行了早期的数据过滤,并在流水线中更早地计算了小的派生值(例如谓词),从而在流水线级之间传输的数据更少(有时更少)。 PeriSCOPE通过消除无效代码,进一步利用符号执行来扩大此类优化的范围。我们描述了PeriSCOPE的实施方式,并评估了其在实际生产作业中的有效性。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号