【24h】

Feedback-Directed Barrier Optimization in a Strongly Isolated STM

机译:强烈隔离的STM中的反馈导向屏障优化

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

摘要

Speed improvements in today's processors have largely been de-livered in the form of multiple cores, increasing the importance ofabstractions that ease parallel programming. Software transactionalmemory (STM) addresses many of the complications of concur-rency by providing a simple and composable model for safe accessto shared data structures. Software transactions extend a languagewith an atomic primitive that declares that the effects of a block ofcode should not be interleaved with actions executing concurrentlyon other threads. Adding barriers to shared memory accesses pro-vides atomicity, consistency and isolation. Strongly isolated STMs preserve the safety properties of trans-actions for all memory operations in a program, not just thoseinside an atomic block. Isolation barriers are added to non-transactional loads and stores in such a system to prevent thoseaccesses from observing or corrupting a partially completed trans-action. Strong isolation is especially important when integratingtransactions into an existing language and memory model. Isola-tion barriers have a prohibitive performance overhead, however, somost STM proposals have chosen not to provide strong isolation. In this paper we reduce the costs of strong isolation by cus-tomizing isolation barriers for their observed usage. The cus-tomized barriers provide accelerated execution by blocking threadswhose accesses do not follow the expected pattern. We use hotswap to tighten or loosen the hypothesized pattern, while pre-serving strong isolation. We introduce a family of optimizationhypotheses that balance verification cost against generality. We demonstrate the feasibility of dynamic barrier optimizationby implementing it in a bytecode-rewriting Java STM. Feedback-directed customization reduces the overhead of strong isolationfrom 505% to 38% across 11 non-transactional benchmarks; persis-tent feedback data further reduces the overhead to 16%. Dynamicoptimization accelerates a multi-threaded transactional benchmarkby 31% for weakly-isolated execution and 34% for strongly-isolated execution.
机译:当今处理器的速度改进已在很大程度上以多核的形式实现,从而增加了简化并行编程的抽象的重要性。软件事务存储(STM)通过提供简单且可组合的模型来安全访问共享数据结构,从而解决了许多并发问题。软件事务使用原子原语扩展语言,该原子原语声明不应将代码块的效果与在其他线程上同时执行的动作交错。为共享内存访问添加障碍可提供原子性,一致性和隔离性。高度隔离的STM保留了程序中所有存储操作的交易安全性,而不仅仅是原子块内的交易。隔离屏障被添加到非事务性负载中,并存储在这样的系统中,以防止这些访问观察或破坏部分完成的事务。将事务集成到现有语言和内存模型中时,强隔离尤其重要。隔离栅的性能开销过高,但是,大多数STM建议都选择不提供强隔离。在本文中,我们通过为观察到的使用量隔离隔离屏障来降低强隔离的成本。定制的屏障通过阻止线程访问不遵循预期模式的线程来加快执行速度。我们使用热交换来收紧或放松假设的模式,同时保持强烈的隔离。我们介绍了一系列优化假设,可在验证成本与通用性之间取得平衡。我们通过在重写字节码的Java STM中实现动态屏障优化来证明其可行性。反馈导向的自定义将11个非事务基准的强隔离开销从505%降低到38%;持久性反馈数据将开销进一步降低到16%。动态优化可将多线程事务基准测试的弱隔离执行速度提高31%,将强隔离执行速度提高34%。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号