中文

并发动态平面凸包中的更细粒度锁

分布式、并行与集群计算 2017-02-13 v1

摘要

平面点集的凸包是包含该集合中每个点的最小凸多边形。动态凸包问题关注在加点与删点操作下高效维护点集的凸包。该问题的一个算法使用两棵外部平衡二叉搜索树(BST)(M. H. Overmars, J. van Leeuwen 1981)。我们提出了该问题的首个并发解,其使用一棵单独的BST,在每个节点存储对中间凸包解的引用。我们实现并评估了两种基于锁的方法:a) 细粒度锁,树的每个节点由一把锁保护;b) “更细粒度锁”,每个节点为左链和右链各含一把独立的锁。在我们的吞吐量实验中,我们观察到更细粒度锁相比细粒度锁有8-60%的提升,相比粗粒度锁和软件事务内存(STM)有38-61倍的提升。当应用于求静态点集的凸包时,我们的方法在使用相同线程数下比并行分治实现快2-4倍。

关键词

引用

@article{arxiv.1702.03008,
  title  = {Finer-grained Locking in Concurrent Dynamic Planar Convex Hulls},
  author = {K. Alex Mills and James Smith},
  journal= {arXiv preprint arXiv:1702.03008},
  year   = {2017}
}

备注

4 pages; 2 figures; brief announcement submitted to SPAA 2017