首页> 外文期刊>ACM SIGPLAN Notices: A Monthly Publication of the Special Interest Group on Programming Languages >Effective fine-grain synchronization for automatically parallelized programs using optimistic synchronization primitives
【24h】

Effective fine-grain synchronization for automatically parallelized programs using optimistic synchronization primitives

机译:使用乐观同步原语对自动并行化的程序进行有效的细粒度同步

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

摘要

As shared-memory multiprocessors become the dominant commodity source of computation, parallelizing compilers must support mainstream computations that manipulate irregular, pointer-based data structures such as lists, trees and graphs, Our experience with a parallelizing compiler for this class of applications shows that their synchronization requirements differ significantly from those of traditional parallel computations. Instead of coarse-grain barrier synchronization, irregular computations require synchronization primitives that support efficient fine-grain atomic operations.The standard implementation mechanism for atomic operations uses mutual exclusion locks. But the overhead of acquiring and releasing locks can reduce the performance. Locks can also consume significant amourtts of memory. Optimistic synchronization primitives such as load linked/stor conditional are an attractive alternative. They require no additional memory and eliminate the use of heavyweight blocking synchronization constructs.This paper presents our experience using optimistic synchronization to implement fine-grain atomic operations in the context of a parallelizing compiler for irregular object-based programs. We have implemented two versions of the compiler. One version generates code that uses mutual exclusion locks to make operations execute atomically. The other version uses optimistic synchronization. This paper presents the first published algorithm that enables compilers to automatically generate optimistically synchronized parallel code. The presented experimental results indicate that optimistic synchronization is clearly the superior choice for our set of applications. Our results show that it can significantly reduce the memory consumption and improve the overall performance.
机译:随着共享内存多处理器成为计算的主要商品来源,并行化编译器必须支持主流计算,这些主流运算可以处理不规则的基于指针的数据结构,例如列表,树和图形。我们在此类应用程序上使用并行化编译器的经验表明同步要求与传统并行计算的要求大不相同。除了不进行粗粒度的障碍同步外,不规则计算还需要支持有效细粒度原子操作的同步原语。原子操作的标准实现机制使用互斥锁。但是获取和释放锁的开销会降低性能。锁也可能消耗大量的内存。诸如负载链接/存储条件的乐观同步原语是一个有吸引力的选择。它们不需要额外的内存,并且不需要使用重量级的块同步结构。本文介绍了我们的经验,在针对不规则基于对象的程序的并行化编译器的上下文中,使用乐观同步来实现细粒度原子操作。我们已经实现了两个版本的编译器。一种版本生成的代码使用互斥锁来使操作自动执行。另一个版本使用乐观同步。本文介绍了第一个发布的算法,该算法使编译器能够自动生成乐观同步的并行代码。给出的实验结果表明,乐观同步显然是我们应用程序的最佳选择。我们的结果表明,它可以显着减少内存消耗并提高整体性能。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号