自动加载器

Autolocker:原子部分的同步推理。向多核处理器的转移增加了对更简单、更健壮的并行编程模型的需求。原子截面因其易于使用而得到广泛认可。它们比手动锁定更简单、更安全,并且增加了模块性。但是现有的方案有几个实际问题,包括开销高和与I/O交互较差。我们提出悲观原子节,这是一种新的方法,它保留了乐观原子节的许多优点,如“事务性内存”中所示,但不牺牲性能或兼容性。悲观的原子部分使用程序员熟悉的锁定机制,同时减轻了基于锁的编程的大部分负担,包括死锁。值得注意的是,悲观的原子部分将正确性与性能分开:它们允许程序员通过更细粒度的锁定来提取更多的并行性,而不必担心引入错误。我们相信这个特性对于开发多核处理器设计至关重要。我们描述了一个工具Autolocker,它可以自动将悲观的原子部分转换成基于锁的标准代码。Autolocker广泛地依赖于程序分析来确定正确的锁定策略,而不存在死锁和争用条件。我们通过修改一个50000行的高性能web服务器来评估Autolocker的表达能力,在保留原始锁定策略的同时使用原子部分。我们使用microbenchmarks分析Autolocker的性能,其中Autolocker的性能优于软件事务性内存3倍以上。

这个软件也是同行评审按日记帐汤姆斯.