首页> 外文会议>ACM international conference on supercomputing >HiRe: Using Hint Release to Improve Synchronization of Speculative Threads
【24h】

HiRe: Using Hint Release to Improve Synchronization of Speculative Threads

机译:雇用:使用提示和释放来改善推测线程的同步

获取原文

摘要

Thread-Level Speculation (TLS) is a promising technique for improving performance of serial codes on multi-cores by automatically extracting threads and running them in parallel. However, the speculation efficiency as well as the performance gain of TLS systems are reduced by cross-thread data dependence violations. Reducing the cost and frequency of violations are key to improving the efficiency of TLS. One method to keep a dependence from violating is to predict it and communicate the value via synchronization. However, prior work in this field still cannot handle enough violating dependences, especially hard-to-predict ones and those in non-loop TLS tasks. Also, they suffer from over-synchronization and/or introduce complicated hardware. The major reason is that these techniques are highly sensitive to the accuracy of the dependence prediction, which is hard to improve in the face of irregular dependence and task patterns. In this paper, we propose a novel synchronization technique that avoids over synchronization and works for irregularly occurring dependences. We use a profiler to find and mark store-load pairs that generate data dependences. Then, the compiler schedules a hint instruction in advance of the store to inform successor threads of a possible pending write to a specific address; in this way, later loads only wait for a store if the loading location has been hinted. The compiler also schedules a release instruction that notifies the load when it. should proceed. It places the release both after the store and on every path leading away from the hint that does not pass through the store. By placing it on all such paths, we limit the cost due to over synchronization. Together, the hint and release form our proposal, called HiRe. We implemented the HiRe scheme on a well-tuned TLS system and evaluated it on a set of SPEC CPU 2000 applications; we find that HiRe suffers only 22% of the violations that occur in our base TLS system, and it cuts the instruction waste rate of TLS in half. Furthermore, it outperforms prior approaches we studied by 3%.
机译:线程级推测(TLS)是一种有前途的技术,可通过自动提取线程并并行运行它们来提高多核上串行代码的性能。但是,跨线程数据相关性违规会降低TLS系统的推测效率以及性能增益。降低违规的成本和频率是提高TLS效率的关键。避免依赖关系违背的一种方法是预测依赖关系并通过同步传递值。但是,该领域的现有工作仍然无法处理足够的违规依赖性,尤其是难以预测的依赖性和非循环TLS任务中的依赖性。而且,它们遭受过度同步和/或引入复杂的硬件。主要原因是这些技术对依赖性预测的准确性高度敏感,面对不规则的依赖性和任务模式,很难对其进行改进。在本文中,我们提出了一种新颖的同步技术,该技术可以避免过度同步,并且可以针对不规则发生的依赖性进行工作。我们使用探查器来查找和标记生成数据相关性的存储负载对。然后,编译器在存储之前调度提示指令,以通知后继线程可能对特定地址的未决写入。这样,以后的加载仅在提示了加载位置时才等待存储。编译器还计划释放指令,该指令在加载时通​​知加载。应该继续。它将发布放置在商店之后以及远离未通过商店的提示的每条路径上。通过将其放置在所有此类路径上,我们可以限制由于过度同步而带来的成本。提示和发布共同构成了我们的提议,称为HiRe。我们在经过良好调整的TLS系统上实施了HiRe方案,并在一组SPEC CPU 2000应用程序上对其进行了评估;我们发现,HiRe仅遭受基本TLS系统中发生的违规的22%,并将TLS的指令浪费率降低了一半。此外,它比我们研究过的先前方法要好3%。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号