首页> 外文会议>Compiler Construction >Keep Off the Grass: Locking the Right Path for Atomicity
【24h】

Keep Off the Grass: Locking the Right Path for Atomicity

机译:远离草地:锁定正确性的正确道路

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

摘要

Atomicity provides strong guarantees against errors caused by unanticipated thread interactions, but is difficult for programmers to implement with low-level concurrency primitives. With the introduction of multicore processors, the problems are compounded. Atomic sections are a high level language feature that programmers can use to designate the blocks of code that need to be free from unanticipated thread interactions, letting the language implementation handle the low-level details such as deadlock. From a language designer's point of view, the challenge is to implement atomic sections without compromising performance. We propose an implementation of atomic sections that inserts locks transparently into object-oriented programs. The main advantages of our approach are: (1) We infer path expressions (that at run-time resolve to actual objects) for many more accesses in the atomic section than previous work could infer. (2) We use multi-granularity locking for guarding iterative traversals. (3) We ensure freedom from deadlock by rolling back the lock acquisition phase. (4) We release locks as early as possible. In summary, our approach uses a finer-grained locking discipline than previous lock inference techniques.
机译:原子性为防止意外线程交互引起的错误提供了有力的保证,但对于程序员来说,使用低级并发原语很难实现。随着多核处理器的引入,问题变得更加复杂。原子部分是高级语言功能,程序员可以使用它来指定需要避免意外线程交互的代码块,从而使语言实现可以处理低级细节(例如死锁)。从语言设计者的角度来看,挑战在于实现原子部分而不损害性能。我们提出了原子部分的实现,该实现将锁透明地插入到面向对象的程序中。我们的方法的主要优点是:(1)对于原子部分中的访问,我们推断出的路径表达式(在运行时解析为实际对象)比以前的工作可以推断的更多。 (2)我们使用多粒度锁定来保护迭代遍历。 (3)通过回退锁获取阶段,确保没有死锁。 (4)我们尽早释放锁。总之,与以前的锁推断技术相比,我们的方法使用了更精细的锁准则。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号