We present a new blocking linearizable stack implementation which utilizes sharding and fetch&increment to achieve significantly better performance than all existing concurrent stacks. The proposed implementation is based on a novel elimination mechanism and a new combining approach that are efficiently blended to gain high performance. Our implementation results in enhanced parallelism and low contention when accessing the shared stack. Experiments show that the proposed stack implementation outperforms all existing concurrent stacks by up to 2X in most workloads. It is particularly efficient in systems supporting a large number of threads and in high contention scenarios.
翻译:本文提出一种新型阻塞线性化栈实现,该实现利用分片技术与fetch&increment操作,其性能显著优于现有所有并发栈方案。所提出的实现基于一种新颖的消除机制与创新的组合方法,二者被高效融合以获得卓越性能。该实现能在访问共享栈时增强并行性并降低竞争冲突。实验表明,在多数工作负载下,所提出的栈实现性能可达现有并发栈的2倍以上。该系统尤其适用于支持大量线程的运行环境及高竞争场景。