首页> 外文会议>Annual ACM SIGPLAN-SIGACT symposium on principles of programming languages >Safe Nondeterminism in a Deterministic-by-Default Parallel Language
【24h】

Safe Nondeterminism in a Deterministic-by-Default Parallel Language

机译:在确定逐默认的并行语言中安全不确定

获取原文

摘要

A number of deterministic parallel programming models with strong safety guarantees are emerging, but similar support for non-deterministic algorithms, such as branch and bound search, remains an open question. We present a language together with a type and effect system that supports nondeterministic computations with a deterministic-by-default guarantee: nondeterminism must be explicitly requested via special parallel constructs (marked nd), and any deterministic construct that does not execute any nd construct has deterministic input-output behavior. Moreover, deterministic parallel constructs are always equivalent to a sequential composition of their constituent tasks, even if they enclose, or are enclosed by. nd constructs. Finally, in the execution of nd constructs, interference may occur only between pairs of accesses guarded by atomic statements, so there are no data races, either between atomic statements and unguarded accesses (strong isolation) or between pairs of unguarded accesses (stronger than strong isolation alone). We enforce the guarantees at compile time with modular checking using novel extensions to a previously described effect system. Our effect system extensions also enable the compiler to remove unnecessary transactional synchronization. We provide a static semantics, dynamic semantics, and a complete proof of soundness for the language, both with and without the barrier removal feature. An experimental evaluation shows that our language can achieve good scalability for realistic parallel algorithms, and that the barrier removal techniques provide significant performance gains.
机译:一些具有较强的安全性保证确定性的并行编程模型的不断涌现,但对于非确定性的算法,如分支定界搜索类似的支持,仍然是一个悬而未决的问题。我们一起呈现语言,类型和效果系统,支持不确定性计算与确定性,通过默认的保证:非确定性,必须通过特殊的并行结构(标ND),并且不执行任何ND构建具有任何确定性的结构被明确要求确定性的输入 - 输出特性。此外,确定的并行结构总是相当于它们的组成任务的顺序组合,即使它们包围,或由被封闭。第二构造。最后,在第二构建体的执行中,可能只对用原子语句把守的访问之间发生干扰,因此不存在数据争用,或者原子语句和无人看守的访问(强隔离)之间或对未保护的访问之间(除了强强隔离单独的)。我们使用新颖的扩展之前描述的效果系统模块化检查执行在编译时保证。我们的效果的系统扩展也使编译器,以除去不必要的事务同步。我们提供了一个静态语义,动态语义,和稳健的完整的证明的语言,既没有阻挡层去除功能。实验评价表明,我们的语言可以实现逼真的并行算法可扩展性好,并且阻挡层去除技术提供显著的性能提升。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号