Conference Paper

Commit Protocols for a Distributed Transactional Memory

Inst. fur Inf., Heinrich-Heine-Univ. Dusseldorf, Düsseldorf, Germany
DOI: 10.1109/PDCAT.2010.74 Conference: Parallel and Distributed Computing, Applications and Technologies (PDCAT), 2010 International Conference on
Source: IEEE Xplore

ABSTRACT Concurrency control in distributed and parallel applications has been studied for many years but is still an ongoing research topic. Transactional memory addresses this challenge for multicore processors by proposing to execute critical sections as restartable transactions combined with optimistic synchronization. Thus the programmer has not to reason about complex lock management and deadlocks. We believe that some of these ideas are also useful for distributed systems. Therefore, we are developing the Object Sharing Service (OSS) providing transparent data sharing for clusters and grids. OSS supports different consistency models for replica management within one application. In this paper we present the design and implementation of different transaction commit protocols for supporting transactional consistency. The main challenge of the resulting distributed transactional memory (DTM) is how to mask network latency allowing to commit transactions fast. Experiments with synthetic micro benchmarks and a Map Reduce application on the Grid'5000 platform show that a DTM is efficiently providing strong consistency for shared data.

  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: The overall objective of the XtreemOS project is the design, implementation, evaluation and distribu- tion of an open source Grid operating system (named XtreemOS) with native support for virtual organiza- tions (VO) and capable of running on a wide range of underlying platforms, from clusters to mobiles. The approach we propose is to investigate the design of a Grid OS, XtreemOS, based on the Linux existing gen- eral purpose OS. A set of system services, extending those found in the traditional Linux, will provide users with all the Grid capabilities associated with current Grid middleware, but fully integrated into the OS. The underlying Linux will be extended as needed to support VOs spanning across many machines and to provide appropriate interfaces to the Grid OS services. In- stalled on each participating machine, the XtreemOS system will provide for the Grid what an operating sys- tem o! ers for a single computer: abstraction from the hardware, and secure resource sharing between di!er- ent users. It would thus considerably ease the work of users belonging to VOs by giving them (as far as possible) the illusion of using a traditional computer, and releasing them from dealing with the complex re- source management issues of a Grid environment. By integrating Grid capabilities into the kernel, XtreemOS will also provide a robust, secure and easy to manage infrastructure for system administrators.
    Tenth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2007), 7-9 May 2007, Santorini Island, Greece; 01/2007
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: We describe DSTM2, a Java™ software library that provides a flexible framework for implementing object-based software transactional memory (STM). The library uses transactional factories to transform sequential (unsynchronized) classes into atomic (transactionally synchronized) ones, providing a substantial improvement over the awkward programming interface of our previous DSTM library. Furthermore, researchers can experiment with alternative STM mechanisms by providing their own factories. We demonstrate this flexibility by presenting two factories: one that uses essentially the same mechanisms as the original DSTM (with some enhancements),and another that uses a completely different approach.Because DSTM2 is packaged as a Java library, a wide range of programmers can easily try it out, and the community can begin to gain experience with transactional programming. Furthermore, researchers will be able to use the body of transactional programs that arises from this community experience to test and evaluate different STM mechanisms simply by supplying new transactional factories. We believe that this flexible approach will help to build consensus about the best ways to implement transactions, and will avoid the premature "lock-in" that may arise if STM mechanisms are baked into compilers before such experimentation is done.
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Vivaldi is a distributed algorithm that assigns synthetic coordinates to Internet hosts, so that the Euclidean distance between two hosts' coordinates predicts the network latency between them. Each node in Vivaldi computes its coordinates by simulating its position in a network of physical springs. Vivaldi is both distributed and efficient: no fixed infrastructure need be deployed and a new host can compute useful coordinates after collecting latency information from only a few other hosts. Vivaldi can rely on piggy-backing latency information on application traffic instead of generating extra traffic by sending its own probe packets.