首页> 外文期刊>IEEE Transactions on Parallel and Distributed Systems >Exploiting the Parallelism Between Conflicting Critical Sections with Partial Reversion
【24h】

Exploiting the Parallelism Between Conflicting Critical Sections with Partial Reversion

机译:利用部分还原利用冲突的临界区之间的并行性

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

摘要

The critical sections with the lock protection greatly limit the concurrency of multi-threaded applications. The prior lock elision based technique is presented to exploit the parallelism between critical sections accessing the disjoint shared data, but still fails to notice and expose a high degree of concurrency between critical sections that contend for the same shared data, i.e., conflicting critical sections (CCS). This paper focuses on exploiting the CCS parallelism. The key insight of this work is that, for each running CCS, a large proportion (>73.4% ) of parallelism between CCSs can be exploited as fully as possible by simply allowing the parallel execution of their first conflict-free code fragment at runtime. We therefore present BSOptimizer, a new microarchitecture, to perform the partial reversion integrated with a series of sophisticated hardware and software strategies for the CCS parallelization. We complement the off-the-shelf cache coherency protocol to perceive the conflict location of CCS, present a predictive checkpoint mechanism to register and predict the concerned conflict point in a lightweight and accurate fashion, and redefine the traditional mutual exclusive semantics with a binary relationship. With these collaborative techniques, each CCS can be scheduled in parallel. Our experimental results on a wide variety of real programs and PARSEC benchmarks show that, compared to the native execution and two state-of-the-art lock elision techniques (including SLE and SLR), BSOptmizer can dramatically improves the performance of programs with a slight (<;0.8% ) energy consumption and (<;3.9% ) extra runtime overhead. Our evaluation on a micro-benchmark with software based optimization also verifies that BSOptimizer can accurately exploit the CCS parallelism as promised.
机译:具有锁定保护的关键部分极大地限制了多线程应用程序的并发性。提出了一种基于先验锁定的技术,以利用关键部分之间访问并行数据的并行性,但是仍然无法注意到并公开争夺相同共享数据的关键部分之间的高度并发性,即冲突的关键部分( CCS)。本文着重于利用CCS并行性。这项工作的关键见解是,对于每个正在运行的CCS,只需在运行时简单地并行执行其第一个无冲突的代码片段,就可以充分利用CCS之间很大比例的并行性(> 73.4%)。因此,我们提出了一种新的微体系结构BSOptimizer,以执行与部分复杂的硬件和软件策略集成的CCS并行化的部分还原。我们对现成的缓存一致性协议进行补充,以感知CCS的冲突位置,提出一种预测性检查点机制,以轻便而准确的方式注册和预测相关冲突点,并使用二进制关系重新定义传统的互斥语义。利用这些协作技术,可以并行调度每个CCS。我们在各种实际程序和PARSEC基准测试中的实验结果表明,与本机执行和两种最先进的锁省略技术(包括SLE和SLR)相比,BSOptmizer可以显着提高程序的性能。轻微的(<; 0.8%)能耗和(<; 3.9%)的额外运行时开销。我们对基于软件优化的微基准测试的评估还验证了BSOptimizer可以按照承诺准确地利用CCS并行性。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号