首页> 外文会议>The 39th International Conference on Parallel Processing >Handling Conflicts with Compiler's Help in Software Transactional Memory Systems
【24h】

Handling Conflicts with Compiler's Help in Software Transactional Memory Systems

机译:使用软件事务存储系统中的编译器帮助处理冲突

获取原文

摘要

Atomic sections are supported in software through the use of optimistic concurrency by using Software Transactional Memory (STM). However STM implementations incur high overheads which reduce the wide-spread use of this approach by programmers. Conflicts are a major source of overheads in STMs. The basic performance premise of a transactional memory system is the optimistic concurrency principle wherein data updates executed by the transactions are to disjoint objects/memory locations, referred to as Disjoint Access Parallel (DAP). Otherwise, the updates conflict, and all but one of the transactions are aborted. Such aborts result in wasted work and performance degradation. While contention management systems in STM implementations try to reduce conflicts by various runtime feedback control mechanisms, they are not aware of the applicationȁ9;s structure and data access patterns and hence typically act after the conflicts have occurred. In this paper we propose a scheme based on compiler analysis, which can identify static atomic sections whose instances, when executed concurrently by more than one thread always conflict. Such an atomic section is referred to as Always Conflicting Atomic Section (ACAS). We propose and evaluate two techniques Selective Pessimistic Concurrency Control (SPCC) and compiler inserted Early Conflict Checks (ECC) which can help reduce the STM overheads caused by ACAS. We show that these techniques help reduce the aborts in 4 of the STAMP benchmarks by up to 27.52% while improving performance by 1.24% to 19.31%.
机译:通过使用软件事务存储(STM)使用开放式并发,在软件中支持原子部分。但是,STM实施会产生高昂的开销,从而降低了程序员对该方法的广泛使用。冲突是STM中间接费用的主要来源。事务性存储系统的基本性能前提是乐观并发原理,其中事务执行的数据更新将使对象/内存位置不相交,称为不相交访问并行(DAP)。否则,更新冲突,并且除了其中一个事务之外的所有事务都将中止。这样的中止会导致工作浪费和性能下降。尽管STM实现中的竞争管理系统试图通过各种运行时反馈控制机制来减少冲突,但它们并不了解应用程序的结构和数据访问模式,因此通常在冲突发生后采取行动。在本文中,我们提出了一种基于编译器分析的方案,该方案可以识别静态原子节,这些原子节的实例在由多个线程并发执行时始终会发生冲突。此类原子部分称为“始终冲突的原子部分”(ACAS)。我们提出并评估了两种技术:选择性悲观并发控制(SPCC)和编译器插入的早期冲突检查(ECC),可以帮助减少ACAS引起的STM开销。我们表明,这些技术有助于将STAMP基准测试中的4个中止率降低27.52%,同时将性能提高1.24%至19.31%。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号