João Silva (2013)

MSc Student

in

MSc dissertation: Partial Replication in Distributed Software Transactional Memory  
Co-adviser: Prof. Hervé Paulino
Period: Sep 2012 — Sep 2013
Grade: 19/20 points
Project:
 Synergy-VM project (funded by the National Science Foundation, PI: Prof. João Lourenço)
Papers: INForum'13

Abstract:

Distributed software transactional memory (DSTM) is emerging as an interesting alternative for distributed concurrency control. Usually, these kind of systems resort to distribution and full data replication techniques in order to provide scalability and fault tolerance. Nevertheless, data distribution does not provide support for fault tolerance and full data replication limits the system’s total storage capacity. In his context, partial data replication rises as an intermediate solution that combines the best of the previous two trying to mitigate their disadvantages. This strategy has been explored in the distributed databases research field, but has been little addressed in the context of transactional memory and, to the best of our knowledge, it has never before been incorporated into a DSTM system for a general-purpose programming language. We defend the claim that it is possible to combine both full and partial data replication in such systems.

Accordingly, we developed a prototype of a DSTM system combining full and partial data replication for Java programs. We built from an existent DSTM framework and extended it with support for partial data replication. With the proposed framework, we implemented a partially replicated DSTM.

We evaluated the proposed system using known benchmarks, and the evaluation showcases the existence of scenarios where partial data replication can be advantageous, namely in scenarios with small amounts of transactions that modify fully replicated data.

The results of this thesis show that we were able to sustain our claim by implementing a prototype that effectively combines partial and full data replication in a DSTM system. The modularity of the presented framework allows the easy implementation of its various components, and it provides a non-intrusive interface to applications.

.

Keywords: Partial Replication, Transactional Memory, Distributed Systems, Concurrency Control