An Innovative Approach for Achieving Composability in Concurrent Systems using Multi-Version Object Based STMs

by   Sandeep Kulkarni, et al.

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 ∞. If k equal to 1 then it will boil down to single version object based STM (OSTM) and if k equal to ∞ then it will be equivalent to multi-version OSTM with ∞ 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.


page 1

page 2

page 3

page 4


An Efficient Approach to Achieve Compositionality using Optimized Multi-Version Object Based Transactional Systems

In the modern era of multi-core systems, the main aim is to utilize the ...

Obtaining Progress Guarantee and GreaterConcurrency in Multi-Version Object Semantics

Software Transactional Memory Systems (STMs) provides ease of multithrea...

Multi-version Indexing in Flash-based Key-Value Stores

Maintaining multiple versions of data is popular in key-value stores sin...

Incremental Model Transformations with Triple Graph Grammars for Multi-version Models

Like conventional software projects, projects in model-driven software e...

Towards Development with Multi-Version Models: Detecting Merge Conflicts and Checking Well-Formedness

Developing complex software requires that multiple views and versions of...

Triple Graph Grammars for Multi-version Models

Like conventional software projects, projects in model-driven software e...

Scheduling Space Expander: An Extension of Concurrency Control for Data Ingestion Queries

With the continuing advances of sensing devices and IoT/Telecom applicat...

Please sign up or login with your details

Forgot password? Click here to reset