Abstract

Software transactional memory (STM) is one of the techniques used towards achieving non-blocking process synchronization in multi-threaded computing environment. In spite of its high potential, one of the major limitations of transactional memory (TM) is that in order to ensure data consistency as well as progress condition, TM often forces transactions to abort. This paper proposes a new concurrency control mechanism. It starts with the existing TM implementations for obstruction freedom and eventually builds a new STM methodology. The primary objective is to reduce aborting of transactions in some typical scenarios. A programming model is described for a chain of update transactions that share the same data object among themselves. Using the proposed approach, any new update transaction appended in this chain need not wait for the earlier transactions to finish. The proposed STM allows wait-free, non-blocking implementation of a mix of read and multiple update transactions on the same shared data object with higher throughput.

Highlights

  • Software transactional memory (STM) [20] is a promising technique to facilitate concurrent programming in modern multi-processor environment

  • The proposed work designs a new non-blocking algorithm to achieve concurrency control for multi-threaded environment. This non-blocking thread synchronization algorithm is an improvisation of obstruction free transactional memory (OFTM) that focuses on lowering transaction aborts for update-executions in presence of contention

  • The proposed methodology is based on the foundations of OFTM, while it provides a completely new mechanism for write transactions to execute concurrently while sharing common data object

Read more

Summary

Introduction

Software transactional memory (STM) [20] is a promising technique to facilitate concurrent programming in modern multi-processor environment. One of the major challenges for STM-based solutions is concurrent abort-free execution of transactions maintaining progress condition, and data consistency. One of the notable STM implementations is DSTM (Software Transactional Memory for Dynamic-sized Data Structures) [12] It offers an abort-free non-blocking synchronization approach that guarantees progress when a thread executes in isolation. The propositions either use time stamp from a global clock [6], or maintain multiple versions [5,17], or use conflict serializability scheduling as in [2,4] All these approaches are able to achieve abort-free execution for read-only transactions to some extent. We have proposed a new non-blocking, concurrency control approach for multi-threaded environment.

Review
Basic concept
Data structure
Transactional data structure
Data object and locator object
Proposed concurrency control mechanism
New concurrency control mechanism: a critical analysis
Performance evaluation
Case I: transaction T2 accesses sharable object after transaction T1
Performance of PSTM over Loack based for a chain of transactions
Concluding remarks
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call