Implicit and Explicit Transactions in a Distributed Transactional Memory System

M. Schöttner, M. Sonnenfroh, S. Frenz, S. Gerold, and P. Schulthess (Germany)


Transactional Memory, Operating Systems, Distributed


Transactional memory (TM) promises to substantially reduce the difficulty of writing correct, efficient, and scalable concurrent programs. We argue that TM is also useful for distributed and parallel programming going beyond hardware TM. We have developed a distributed cluster operating system (OS) offering a distributed transactional memory (DTM). The kernel and all drivers are written in Java with some minor language extensions for direct hardware access. Java code is directly compiled to native IA32 instructions. The DTM is organized as a strongly typed heap storing Java classes and instances. All actions are processed as speculative transactions (TAs). Conflicts are automatically detected and TAs may abort and automatically restart. In this paper we present the implementation of implicit and explicit transactions in a DTM. We discuss measurements that show minimal runtime overhead costs for explicit TAs making them an efficient and easy to use concept for reducing the collision probability of long running TAs.

Important Links:

Go Back