局部线性化
编程语言
2016-06-27 v4 分布式、并行与集群计算
数据结构与算法
摘要
并发数据结构的语义通常由顺序规范和一致性条件给出。线性化是最受欢迎的一致性条件,因其简单性和通用适用性。然而,对于不需要线性化所提供全部保证的应用,近期研究已通过放宽其语义来提高并发数据结构的性能和可扩展性。本文提出了局部线性化,一种适用于容器类并发数据结构(如池、队列和栈)的放宽一致性条件。线性化要求每个操作的效果被所有线程同时观察到,而局部线性化仅要求对于每个线程T,其局部插入操作的效果以及移除T所插入值的那些移除操作的效果被所有线程同时观察到。我们研究了局部线性化的理论和实用特性及其与许多现有一致性条件的关系。我们提出了一种利用现有线性化数据结构作为构建块的通用实现方法。我们的实现展示了相对于原始构建块的性能和可扩展性提升,并超越了最快的现有容器类实现。
引用
@article{arxiv.1502.07118,
title = {Local Linearizability},
author = {Andreas Haas and Thomas A. Henzinger and Andreas Holzer and Christoph M. Kirsch and Michael Lippautz and Hannes Payer and Ali Sezgin and Ana Sokolova and Helmut Veith},
journal= {arXiv preprint arXiv:1502.07118},
year = {2016}
}