Efficient support for in-place metadata in Java software transactional memory

نویسندگان

  • Ricardo J. Dias
  • Tiago M. Vale
  • João Lourenço
چکیده

Software Transactional Memory (STM) algorithms associate metadata with the memory locations accessed during a transaction’s lifetime. This metadata may be stored in an external table, by resorting to a mapping function that associates the address of a memory cell with the table entry containing the corresponding metadata (out-place or external strategy). Alternatively, the metadata may be stored adjacent to the associated memory cell by wrapping the cell and metadata together (in-place strategy). The implementation techniques to support these two approaches are very different and each STM framework is usually biased towards one of them, only allowing the efficient implementation of STM algorithms which suit one of the approaches, and inhibiting a fair comparison with STM algorithms suiting the other. In this paper we introduce a technique to implement in-place metadata that does not wrap memory cells, thus overcoming the bias and allowing STM algorithms to directly access the transactional metadata. The proposed technique is available as an extension to Deuce, and enables the efficient implementation of a wide range of STM algorithms and their fair (unbiased) comparison in a common STM framework. We illustrate the benefits of our approach by analyzing its impact in two popular TM algorithms with several transactional workloads, TL2 and multiversioning, each befitting out-place and in-place respectively.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Framework Support for the Efficient Implementation of Multi-version Algorithms

Software Transactional Memory algorithms associate metadata with the memory locations accessed during a transaction’s lifetime. This metadata may be stored in an external table and accessed by way of a function that maps the address of each memory location with the table entry that keeps its metadata (this is the out-place or external scheme); or alternatively may be stored adjacent to the asso...

متن کامل

Efficient Support for In-Place Metadata in Transactional Memory

Implementations of Software Transactional Memory (STM) algorithms associate metadata with the memory locations accessed during a transaction’s lifetime. This metadata may be stored either in-place, by wrapping every memory cell in a container that includes the memory cell itself and the corresponding metadata; or out-place (also called external), by resorting to a mapping function that associat...

متن کامل

ByteSTM: Virtual Machine-Level Java Software Transactional Memory

We present ByteSTM, a virtual machine-level Java STM implementation that is built by extending the Jikes RVM. ByteSTM implements two STM algorithms, TL2 and RingSTM. We modify Jikes RVM’s Optimizing compiler to transparently support implicit transactions. Being implemented at the VM-level, it accesses memory directly and handles memory uniformly, and avoids Java garbage collection by manually m...

متن کامل

ByteSTM: Java Software Transactional Memory at the Virtual Machine Level

(ABSTRACT) As chip vendors are increasingly manufacturing a new generation of multi-processor chips called multicores, improving software performance requires exposing greater concurrency in software. Since code that must be run sequentially is often due to the need for synchronization , the synchronization abstraction has a significant effect on program performance. Lock-based synchronization ...

متن کامل

Transacting Pointer-based Accesses in an Object-based Software Transactional Memory System

Software transactional memory (STM) systems for objectoriented languages that allow relocating garbage collection (such as languages for the .NET platform, or Java) must decide how transactional metadata (i.e., fine-grained locks) is associated with objects. An obvious approach is to locate this metadata with the object, and move it when the object is moved. This approach becomes complicated if...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Concurrency and Computation: Practice and Experience

دوره 25  شماره 

صفحات  -

تاریخ انتشار 2013