scispace - formally typeset
Open AccessProceedings ArticleDOI

Supporting Multiple Data Replication Models in Distributed Transactional Memory

TLDR
This paper proposes ReDstm, a modular and non-intrusive framework for DTM that supports multiple data replication models in a general purpose programming language (Java), and shows its application in the implementation of distributed software transactional memories with different replication models.
Abstract
Distributed transactional memory (DTM) presents itself as a highly expressive and programmer friendly model for concurrency control in distributed programming. Current DTM systems make use of both data distribution and replication as a way of providing scalability and fault tolerance, but both techniques have advantages and drawbacks. As such, each one is suitable for different target applications, and deployment environments. In this paper we address the support of different data replication models in DTM. To that end we propose ReDstm, a modular and non-intrusive framework for DTM, that supports multiple data replication models in a general purpose programming language (Java). We show its application in the implementation of distributed software transactional memories with different replication models, and evaluate the framework via a set of well-known benchmarks, analysing the impact of the different replication models on memory usage and transaction throughput.

read more

Content maybe subject to copyright    Report

Citations
More filters
Proceedings ArticleDOI

Boosting locality in multi-version partial data replication

TL;DR: Experimental results corroborate the effectiveness of the proposed caching mechanism in read-dominated workloads, where it clearly improves the system's overall throughput.
Proceedings ArticleDOI

Simulation of partial replication in Distributed Transactional Memory

TL;DR: This paper investigates the role of replica location in DTMs to understand the effect of latency on the DTM's system performance in face of judicious replica distribution, taking into consideration the locations where data is more frequently accessed.
Proceedings ArticleDOI

Partial Replication Policies for Dynamic Distributed Transactional Memory in Edge Clouds

TL;DR: This paper investigates policies to extend the DTM to efficiently and dynamically map resources on partial replication groups to understand if a dynamic service that constantly evaluates the data mapped into partial replicated groups can contribute to improve DTM based systems performance.
Journal ArticleDOI

High Availability Services of Client in Large-scale Cluster System

TL;DR: Aiming at the disadvantage of high availability based on node redundant, a high availability scheme based on storage devices redundant was researched and designed in large-scale cluster system with network storage devices by working on system kernel.
References
More filters
Book

Design Patterns: Elements of Reusable Object-Oriented Software

TL;DR: The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns, which most experienced OOP designers will find out they've known about patterns all along.
Proceedings ArticleDOI

Transactional memory: architectural support for lock-free data structures

TL;DR: Simulation results show that transactional memory matches or outperforms the best known locking techniques for simple benchmarks, even in the absence of priority inversion, convoying, and deadlock.
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.
Proceedings ArticleDOI

STAMP: Stanford Transactional Applications for Multi-Processing

TL;DR: This paper introduces the Stanford Transactional Application for Multi-Processing (STAMP), a comprehensive benchmark suite for evaluating TM systems and uses the suite to evaluate six different TM systems, identify their shortcomings, and motivate further research on their performance characteristics.
Journal Article

Transactional locking II

TL;DR: This paper introduces the transactional locking II (TL2) algorithm, a software transactional memory (STM) algorithm based on a combination of commit-time locking and a novel global version-clock based validation technique, which is ten-fold faster than a single lock.
Frequently Asked Questions (12)
Q1. What contributions have the authors mentioned in the paper "Supporting multiple data replication models in distributed transactional memory" ?

In this paper the authors address the support of different data replication models in DTM. To that end the authors propose ReDstm, a modular and non-intrusive framework for DTM, that supports multiple data replication models in a general purpose programming language ( Java ). The authors show its application in the implementation of distributed software transactional memories with different replication models, and evaluate the framework via a set of well-known benchmarks, analysing the impact of the different replication models on memory usage and transaction throughput. 

The authors used ReDstm to study how different replication models can be integrated in the implementation of distributed STMs. 

The transformations applied upon C aim at turning it into a subtype of the DistributedObject interface, to insert a new field fdm of type DistMetadata, and to add methods writeReplace and readResolve. 

the bounded size of the external table induces a false sharing situation where multiple memory locations share the same table entry and hence the same metadata, resulting in a many-to-one relation between memory locations and metadata. 

Dashed rectangles represent different groups, i.e., the data inside a rectangle is partially replicated, and circles represent the data stored in each list node. 

Pursuing their non-intrusiveness goal, the programming model exported by ReDstm is annotation-based, so no code rewriting is required. 

Storing metadata in such a pre-allocated table avoids the overhead of dynamic memory allocation, but incurs in the overhead of evaluating the mapping function. 

Being that objects have to be sent through the network, they also have to be previously serialized, hence Algorithm 3 presents the pseudo-code for object serialization in partial replication scenarios. 

Because the authors use weak references, when an object is no longer referenced by others in the application, the garbage collector is free to erase that object from memory, thus precluding the case in Figure 4a. 

the problem is twofold: partially replicating an integer does not reduces memory usage as the memory for the integer is still reserved (this goesfor all primitive data types in Java); and the distribution metadata for configuration C2 stores more information than the metadata used by configuration C1. 

As is, their implementation of the programming model has some limitations, namely: (1) cycles including both fully and partially replicated objects; and (2) partially replicated objects referring other partially replicated objects in a different replication group. 

With small amounts of hard data accessed, configuration C2 performs poorly, but as the authors increase that amount it starts to match configuration C1 and is even able to surpass it.