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

by   Chirag Juyal, et al.

In the modern era of multi-core systems, the main aim is to utilize the cores properly. This utilization can be done by concurrent programming. But developing a flawless and well-organized concurrent program is difficult. Software Transactional Memory Systems (STMs) are a convenient programming interface which assist the programmer to access the shared memory concurrently without worrying about consistency issues such as priority-inversion, deadlock, livelock, etc. Another important feature that STMs facilitate is compositionality of concurrent programs with great ease. It composes different concurrent operations in a single atomic unit by encapsulating them in a transaction. Many STMs available in the literature execute read/write primitive operations on memory buffers. We represent them as Read-Write STMs or RWSTMs. Whereas, there exist some STMs (transactional boosting and its variants) which work on higher level operations such as insert, delete, lookup, etc. on a hash-table. We refer these STMs as Object Based STMs or OSTMs. The literature of databases and RWSTMs say that maintaining multiple versions ensures greater concurrency. This motivates us to maintain multiple version at higher level with object semantics and achieves greater concurrency. So, this paper pro-poses the notion of Optimized Multi-version Object Based STMs or OPT-MVOSTMs which encapsulates the idea of multiple versions in OSTMs to harness the greater concurrency efficiently.


page 1

page 2

page 3

page 4


Obtaining Progress Guarantee and GreaterConcurrency in Multi-Version Object Semantics

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

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

In the modern era of multicore processors, utilizing multiple cores prop...

Memory Models for C/C++ Programmers

The memory model is the crux of the concurrency semantics of shared-memo...

A Non-blocking Buddy System for Scalable Memory Allocation on Multi-core Machines

Common implementations of core memory allocation components, like the Li...

Analysis of Commutativity with State-Chart Graph Representation of Concurrent Programs

We present a new approach to check for commutativity in concurrent progr...

Deriving Laws for Developing Concurrent Programs in a Rely-Guarantee Style

In this paper we present a theory for the refinement of shared-memory co...

Automatic Parallelization of Software Network Functions

Software network functions (NFs) trade-off flexibility and ease of deplo...

Please sign up or login with your details

Forgot password? Click here to reset