Skip to main content
QUICK REVIEW

[论文解读] An Innovative Approach for Achieving Composability in Concurrent Systems using Multi-Version Object Based STMs.

Sandeep S. Kulkarni, Sweta Kumari|arXiv (Cornell University)|Dec 28, 2017
Distributed systems and fault tolerance参考文献 19被引用 1
一句话总结

本文提出了一种新型软件事务内存系统——多版本基于对象的STM(MV-OSTM),通过为每个键维护多个数据对象版本,提升了并发系统中的可组合性与并发性。通过参数$k$动态调节版本数量,该系统减少了事务中止,并支持对未使用版本的垃圾回收,实现了透明性与高可扩展性,适用于多核架构。

ABSTRACT

In the modern era of multicore processors, utilizing multiple cores properly is a tedious job. Synchronization and communication among processors involve high cost. Software transaction memory systems (STMs) addresses this issues and provide better concurrency in which programmer need not have to worry about consistency issues. Several big-data applications which deal large amounts of data can benefit from Transactional Memory Systems. In this paper, we introduce a new STM system as multi-version object based STM (MV-OSTM) which is the fusion of object based STM with multiple versions. As the name suggests MV-OSTM, works on a higher level and keeping the multiple versions corresponding to each key. Presently, we have developed MV-OSTM with the unlimited number of versions corresponding to each key. To overcome traversal overhead, it performs the garbage collection method to delete the unwanted versions corresponding to the key. It provides greater concurrency while reducing the number of aborts. It ensures composability by making the transaction as atomic. In the proposed algorithm, $k$ is the input parameter and the value of it will be decided by the programmer and depends on the application. Programmer can tune the value of $k$ from 1 to $\infty$. If k equal to 1 then it will boil down to single version object based STM (OSTM) and if k equal to $\infty$ then it will be equivalent to multi-version OSTM with $\infty$ versions. MV-OSTM satisfies correctness-criteria as opacity. For a given version order of keys, if any history H generated by MV-OSTM produces acyclic graph then $H$ is opaque.

研究动机与目标

  • 解决多核处理器中同步与通信开销的挑战。
  • 通过支持更高并发性与更低中止率,改进事务内存系统在大数据工作负载中的表现。
  • 通过原子事务语义确保并发系统中的可组合性。
  • 通过可调参数$k$支持动态版本管理,以平衡内存使用与性能。
  • 通过透明性正式保证正确性:系统生成的所有历史记录均满足透明性。

提出的方法

  • MV-OSTM被设计为基于对象的STM与多版本技术的融合,为每个键维护多个版本,以支持并发访问。
  • 系统允许通过参数$k$调节每个键的版本数量,$k$的取值范围为1(单版本)到无穷大(无限版本)。
  • 对过时且未使用的版本应用垃圾回收,以减少遍历与内存开销。
  • 该算法确保事务的原子性,支持嵌套或并发事务之间的可组合性。
  • 通过形式化证明,透明性被确立为正确性准则:MV-OSTM生成的任意无环历史图均保证是透明的。
  • 系统运行在更高抽象层次,对程序员透明地管理版本化。

实验结果

研究问题

  • RQ1如何将多版本技术集成到基于对象的STM中,以提升并发性并减少中止?
  • RQ2调节版本数量参数$k$对性能与内存使用的影响是什么?
  • RQ3多版本基于对象的STM能否在保持透明性正确性的同时实现可组合性?
  • RQ4对过时版本的垃圾回收如何影响系统可扩展性与遍历成本?
  • RQ5MV-OSTM在透明性准则下的形式化正确性保证是什么?

主要发现

  • MV-OSTM通过维护数据对象的多个版本,减少了事务中止,提升了整体并发性。
  • 系统通过参数$k$支持可调版本管理,允许程序员在性能与内存使用之间进行权衡。
  • 垃圾回收有效移除了未使用的版本,最小化了遍历开销与内存膨胀。
  • 该算法确保了透明性,即所有生成的历史记录都是正确的,并等价于某种顺序执行。
  • 当$k = 1$时,MV-OSTM退化为单版本OSTM;当$k = \infty$时,其变为具有无限版本的多版本OSTM。
  • 系统具备可组合性,因为事务是原子的,可在嵌套或并发场景中安全组合。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。