【24h】

Component-Based Lock Allocation

机译:基于组件的锁分配

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

摘要

The allocation of lock objects to critical sections in concurrent programs affects both performance and correctness. Recent work explores automatic lock allocation, aiming primarily to minimize conflicts and maximize parallelism by allocating locks to individual critical section interferences. We investigate component-based lock allocation, which allocates locks to entire groups of interfering critical sections. Our allocator depends on a thread-based side effect analysis, and benefits from precise points-to and may happen in parallel information. Thread-local object information has a small impact, and dynamic locks do not improve significantly on static locks. We experiment with a range of small and large Java benchmarks on 2-way, 4-way, and 8-way machines, and find that a single static lock is sufficient for mtrt, that performance degrades by 10% for hsqldb, that jbb2000 becomes mostly serialized, and that for lusearch, xalan, and jbb2005, component-based lock allocation recovers the performanceof the original program.
机译:将锁对象分配给并发程序中的关键部分会影响性能和正确性。最近的工作探索了自动锁分配,其主要目的是通过将锁分配给各个关键部分干扰来最大程度地减少冲突并最大化并行性。我们研究了基于组件的锁分配,该分配将锁分配给所有干扰关键部分。我们的分配器依赖于基于线程的副作用分析,并且受益于精确的指向并可能在并行信息中发生。线程局部对象信息的影响很小,并且动态锁与静态锁相比没有明显改善。我们在2路,4路和8路计算机上试验了各种小型和大型Java基准测试,发现对于mtrt而言,单个静态锁就足够了,对于hsqldb,性能降低了10%,jbb2000变成了基于组件的锁分配主要用于序列化,而对于lusearch,xalan和jbb2005,则基于组件的锁分配可恢复原始程序的性能。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号