scispace - formally typeset
Book ChapterDOI

CMS: Checkpoint-Based Multi-versioning System for Software Transactional Memory

Reads0
Chats0
TLDR
It is formally prove that CMS complies useless-prefix garbage collection (UP-GC), and on the basis of number of memory accesses for searching consistent version, CMS performs better in comparison with conventional multi-version permissive STM.
Abstract
In this paper, we propose a novel checkpoint-based multi-versioning concurrency control system (CMS) for software transactional memory (STM). A checkpoint is defined to refer a set of versions. CMS maintains a list of live read-only transactions for every checkpoint. An appropriate object versioning technique decides on how many older versions are to be kept or to be removed. Moreover, the proposed method does not require any global synchronization point, such as centralized logical clock for versioning. Due to its efficient garbage-collecting mechanism, CMS is suitable for both read and write-dominated workload. We formally prove that CMS complies useless-prefix garbage collection (UP-GC). On the basis of number of memory accesses for searching consistent version, CMS performs better in comparison with conventional multi-version permissive STM.

read more

Citations
More filters
Journal Article

A Lazy Snapshot Algorithm with Eager Validation

TL;DR: This paper formally introduces a lazy snapshot algorithm that verifies at each object access that the view observed by a transaction is consistent and demonstrates that the performance is quite competitive by comparing other STMs with an STM that uses the algorithm.
Proceedings ArticleDOI

Checkpoint based multi-version concurrency control mechanism for remote healthcare system

TL;DR: This paper addresses the synchronization aspect for multiple concurrent threads in a Remote Healthcare System under development by using checkpoint-based multi-versioning Software Transactional Memory for application domain to achieve non-blocking process synchronization.
References
More filters
Proceedings ArticleDOI

Software transactional memory

TL;DR: STM is used to provide a general highly concurrent method for translating sequential object implementations to non-blocking ones based on implementing a k-word compare&swap STM-transaction, a novel software method for supporting flexible transactional programming of synchronization operations.
Book ChapterDOI

A lazy snapshot algorithm with eager validation

TL;DR: In this article, the authors propose a lazy snapshot algorithm that verifies at each object access that the view observed by a transaction is consistent, which can be used on-demand to prolong the view's validity.
Journal Article

A Lazy Snapshot Algorithm with Eager Validation

TL;DR: This paper formally introduces a lazy snapshot algorithm that verifies at each object access that the view observed by a transaction is consistent and demonstrates that the performance is quite competitive by comparing other STMs with an STM that uses the algorithm.
Journal ArticleDOI

Versioned boxes as the basis for memory transactions

TL;DR: This paper proposes the use of Versioned Boxes, which keep a history of values, as the basis for language-level memory transactions, which may improve significantly the concurrency on applications which have longer transactions and a high read/write ratio.
Proceedings ArticleDOI

On maintaining multiple versions in STM

TL;DR: This paper studies inherent properties of STMs that use multiple versions to guarantee successful commits of all read-only transactions, and presents an STM algorithm using visible reads that efficiently garbage collects useless object versions.
Related Papers (5)