论事务内存中并发的代价
分布式、并行与集群计算
2013-06-28 v9
摘要
软件事务内存(STM)的核心在于将易用的编程接口与现代机器提供的并发计算能力的高效利用相结合。但这种结合是否伴随着固有的代价?我们通过衡量在确保正并发性(即在某些执行中允许并发事务处理)的STM实现中必须采用的昂贵同步操作的数量,来评估并发的代价。我们聚焦于两种提供正并发性的流行进展条件:进展性(progressiveness)和容许性(permissiveness)。我们证明,在提供非常高并发度的容许性STM中,一个事务需要执行与其读集大小成线性关系的昂贵同步模式。相比之下,进展性STM提供的并发度非常低,但正如我们所展示的,每个事务最多只需采用一种昂贵的同步模式即可实现。然而,我们表明,即使在进展性STM中,事务也必须“保护”(例如,通过使用锁或强同步原语)与其写集大小成线性关系的数据量。我们的结果表明,在STM实现中追求高并发度可能会带来相当高的同步代价。
引用
@article{arxiv.1103.1302,
title = {On the Cost of Concurrency in Transactional Memory},
author = {Petr Kuznetsov and Srivatsan Ravi},
journal= {arXiv preprint arXiv:1103.1302},
year = {2013}
}