返回
Multiverse: Transactional Memory with Dynamic Multiversioning
DOI:10.1145/3774934.3786436.png)
摘要
En 中文
软件事务内存(STM)使程序员能够轻松实现并发数据结构。STM简化了原子性。近期STM可以在某些工作负载下实现良好性能,但存在一些局限性。特别是,STM通常不支持长时间运行的读操作,这些操作会访问大量频繁更新的地址。多版本技术是一种用于支持此类工作负载的常见方法。然而,多版本技术往往代价高昂,并且可能降低不需要版本化的交易的性能。在本文中,我们提出了一种名为Multiverse的新型STM,它结合了无版本TM和多版本技术的优点。Multiverse具有版本化和非版本化事务,可以并发执行。Multiverse的主要目标是确保非版本化事务实现与当前最先进的无版本STM相当的性能,同时仍支持需要启用长时间运行读操作的高速版本化事务。我们实现了Multiverse,并将其与多种STM进行比较。我们的实验表明,对于无长时间运行读操作的一般工作负载,Multiverse实现了相当或更好的性能。对于包含长时间运行读操作和频繁更新的工作负载,Multiverse显著优于现有STM。在这些工作负载的某些情况下,Multiverse的吞吐量比其他STM快几个数量级。
Keyword:
Transaction Memory
Software Transaction Memory
Multiversioning
Multiversion Concurrency Control
期刊
机构
引用论文
Blelloch, G.E.; Wei, Y. VERLIB: Concurrent Versioned Pointers. In Proceedings of the 29th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming, PPoPP ’24, Edinburgh, UK, 2–6 March 2024; pp. 200–214. [Google Scholar] [CrossRef]Blelloch, G.E.; Wei, Y. VERLIB:并发版本化指针。载于:第29届ACM SIGPLAN年度并行编程原理与实践研讨会论文集,PPoPP ’24,英国爱丁堡,2024年3月2日至6日,第200-214页。[Google Scholar][CrossRef]

