首页> 外文会议>IEEE International Symposium on Parallel & Distributed Processing;IPDPS 2009 >Taking the heat off transactions: Dynamic selection of pessimistic concurrency control
【24h】

Taking the heat off transactions: Dynamic selection of pessimistic concurrency control

机译:缓解交易:悲观并发控制的动态选择

获取原文

摘要

In this paper we investigate feedback-directed dynamic selection between different implementations of atomic blocks. We initially execute atomic blocks using STM with optimistic concurrency control. At runtime, we identify ldquohotrdquo variables that cause large numbers of transactions to abort. For these variables we selectively switch to using pessimistic concurrency control, in the hope of deferring transactions until they will be able to run to completion. This trades off a reduction in single-threaded speed (since pessimistic concurrency control is not as streamlined as our optimistic implementation), against a reduced amount of wasted work in aborted transactions. We describe our implementation in the Haskell programming language, and examine its performance with a range of micro-benchmarks and larger programs. We show that our technique is effective at reducing the amount of wasted work, but that for current workloads there is often not enough wasted work for an overall improvement to be possible. As we demonstrate, our technique is not appropriate for some workloads: the extra work introduced by lock-induced deadlock is greater than the wasted work saved from aborted transactions. For other workloads, we show that using mutual exclusion locks for ldquohotrdquo variables could be preferable to multi-reader locks because mutual exclusion avoids deadlocks caused by concurrent attempts to upgrade to write access.
机译:在本文中,我们研究了不同原子块实现之间的反馈定向动态选择。我们最初使用带有优化并发控制的STM执行原子块。在运行时,我们确定导致大量事务中止的ldquohotrdquo变量。对于这些变量,我们有选择地切换到使用悲观并发控制,以期将事务推迟到能够运行完成为止。这需要权衡降低单线程速度(因为悲观并发控制没有像我们的乐观实现那样简化),而要减少中止事务中浪费的工作量。我们用Haskell编程语言描述我们的实现,并使用一系列微基准测试和更大的程序来检查其性能。我们证明了我们的技术可以有效减少浪费的工作量,但是对于当前的工作负载来说,浪费的工作量通常不足以实现整体的改善。正如我们所展示的,我们的技术不适用于某些工作负载:由锁引起的死锁所带来的额外工作要大于从异常中止的事务中节省下来的浪费的工作。对于其他工作负载,我们显示对ldquohotrdquo变量使用互斥锁比多读取器锁更可取,因为互斥避免了由并发尝试升级写入权限而导致的死锁。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号