首页> 外文期刊>電子情報通信学会技術研究報告. コンピュ-タシステム. Computer Systems >パスベース投機的マルチスレッド実行のためのコード最適化
【24h】

パスベース投機的マルチスレッド実行のためのコード最適化

机译:基于路径的推测性多线程执行的代码优化

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

摘要

我々はプログラムのループをイテレーション単位で並列化し,ループ中の実行経路(パス)の実行割合の高い上位2本のパスを対象に投機的マルチスレッド実行する2パス限定投機システムPALS(Path Limited Speculation)を開発している.PALSの実行においてスレッドサイズが小さい場合,スレッド制御のオーバーヘッドが相対的に大きくなり性能低下が起こる.この問題に対して,PALSで使用する投機スレッドコードを複数のイテレーションの実行を1イテレーションで実行するようにコードを書き換える.これによりスレッドサイズを増大させることで,オーバーヘッドを相対的に小さくすることができる.しかし,このループ展開によりスレッド間依存変数の依存距離が長くなり,スレッド間のレジスタ転送の待ち時間が長くなる.本稿では,ループ展開を適用したスレッドコードに対し,スレッド間でのレジスタ転送の待ち時間を短くするスケジューリング方法を開発し,その効果について初期評価を行う.レジスタ転送の待ち時間を短くするため,値定義命令の前方移動,値使用命令の後方移動をリストスケジューリングにより行う.シミュレーションによる性能評価の結果,逐次実行に比べて最大3.28倍の性能向上を達成することを確認した.
机译:PALS(路径受限推测)是2遍受限推测系统,它以迭代为单位并行化程序循环,并在循环中的执行路径(路径)的执行率很高的前两个路径上执行推测性多线程。正在开发中。当在执行PALS时线程大小较小时,线程控制的开销会变得相对较大,并且性能会下降。为了解决该问题,重写了PALS中使用的推测线程代码,使得一次迭代执行多次迭代。这使得可以通过增加线程大小来相对减少开销。但是,此循环扩展增加了线程间相关变量的依赖距离,并增加了线程之间寄存器传输的等待时间。在本文中,我们开发了一种调度方法,该方法可缩短应用循环扩展的线程代码的线程之间寄存器传输的等待时间,并初步评估其效果。为了缩短寄存器传输的等待时间,列表调度用于将值定义指令向前移动和将值使用指令向后移动。通过仿真评估性能的结果证实,与顺序执行相比,性能提高了3.28倍。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号