Nuno Miguel Rei Carvalho
A Generic and Distributed Dependable Software Transactional Memory
Thesis submitted for the PhD in Computer Science and Engineering, Instituto Superior Técnico
(IST), Universidade Técnica de Lisboa
Abstract
A Software Transactional Memory (STM) is an abstraction that aims at
simplifying the development of concurrent programs. When using STMs,
the programmers are not required to manage explicitly concurrency
control, for instance, by using low-level synchronization mech- anisms
such as locks. Instead, programmers only need to identify the
sequences of operations that need to be executed in isolation, using
the concept of a transaction. Concurrency control is then performed by
the runtime support, in a transparent manner to the programmer.
This thesis addresses the problem of implementing distributed
dependable STMs. A dis- tributed STM provides the abstraction of a
global address space, that can be accessed from threads in different
nodes as a local STM. Furthermore, a dependable STM ensures that
multi- ple copies of the data are maintained, and kept consistent,
such that data is not lost if a node fails. These features need to be
added to STMs to address the high availability and scalability
requirements posed by realistic production environments (e.g. the F
́enixEDU system).
One of the most challenging problems in the management of replicated
data is to reduce the cost of preserving replica consistency, a task
that requires coordination among replicas. Given that the costs of
executing an in-memory transaction are much smaller than executing
transactions in other settings (such as in database systems), there is
the risk that coordination costs become prohibitively
expensive. Therefore, the thesis proposes several novel replication
protocols suitable for building dependable distributed STMs. The
results reported in the thesis, show that it is unlikely that a single
replication protocol can outperform all the other protocols, for all
workloads that characterize STMs environments. Therefore, the thesis
also proposes a generic architecture that allows multiple replication
proto- cols to coexist in a seamless manner in the same STM. This
architecture opens the door to build adaptive solutions that can
dynamically and automatically select the best replication protocol for
a given deployment and workload, thus paving the way to the
implementation of autonomic distributed dependable STMs that offer
good performance in a wide range of scenarios.
Selected Publications
- A Generic and Distributed Dependable Software
Transactional Memory
- Nuno Miguel Rei Carvalho
- PhD Thesis. Departamento de Engenharia Informática,
Instituto Superior Técnico (IST), Universidade Técnica
de Lisboa
- September, 2011.
- Available pdf.
- A Generic Framework for Replicated Software
Transactional Memories.
- N. Carvalho, P. Romano,
and L. Rodrigues.
- In proceedings of the 10th IEEE International
Symposium on Network Computing and Applications (IEEE NCA11),
Cambridge (MA), USA, August 2011.
- (short paper).
- Available BibTeX,
abstract (html) and report (pdf).
- SCert: Speculative Certification in Replicated
Software Transactional Memories.
- N. Carvalho,
P. Romano and L. Rodrigues.
- In proceedings of the 4th Annual International Systems and Storage
Conference (SYSTOR 2011), Haifa, Israel, May 2011.
- Available BibTeX, abstract (html) and report (pdf).
- Asynchronous Lease-based Replication of Software
Transactional Memory.
- N. Carvalho, P. Romano and
L. Rodrigues.
- In proceedings of the ACM/IFIP/USENIX 11th
Middleware Conference, Bangalore, India, Nov 2010.
- Available
BibTeX, abstract (html) and report (pdf).
- Versioned Transactional Shared Memory for the
FenixEDU Web Application.
- N. Carvalho, J. Cachopo,
L. Rodrigues, and A. Rito Silva.
- Second Workshop on Dependable
Distributed Data Management (in conjunction with Eurosys 2008),
Glasgow, Scotland, March 31, 2008.
- Available BibTeX, abstract (html) and report (pdf).
Contact information
O Nuno Carvalho is a researcher at Fujitsu Laboratories of Europe Limited.
Luís Rodrigues