Université de Neuchâtel

A Lazy Snapshot Algorithm with Eager Validation

Riegel, Torvald ; Felber, Pascal ; Fetzer, Christof

In: Lecture Notes in Computer Science (LNCS), 2006, vol. 4167, p. 284-298

Most high-performance software transactional memories (STM) use optimistic invisible reads. Consequently, a transaction might have an inconsistent view of the objects it accesses unless the consistency of the view is validated whenever the view changes. Although all STMs usually detect inconsistencies at commit time, a transaction might never reach this point because an inconsistent view can...

Université de Neuchâtel

Speculative Out-of-order Event Processing with Software Transaction Memory

Brito, Andrey ; Fetzer, Christof ; Sturzrehm, Heiko ; Felber, Pascal

In: Proceedings of the International Conference on Distributed Event-Based Systems (DEBS'08), 2008, vol. 332, p. 265-275

In event stream applications, events flow through a network of components that perform various types of operations, e.g., filtering, aggregation, transformation. When the operation only depends on the input events, one can trivially parallelize its processing by replicating the associated components. This is not possible, however, with stateful components or when there exist dependencies between...

Université de Neuchâtel

Snapshot Isolation for Software Transactional Memory

Riegel, Torvald ; Fetzer, Christof ; Felber, Pascal

In: First ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing (TRANSACT'06), 2006, p. 1-10

Software transactional memory (STM) has been proposed to simplify the development and to increase the scalability of concurrent programs. One problem of existing STMs is that of having long-running read transactions co-exist with shorter update transactions. This problem is of practical importance and has so far not been addressed by other papers in this domain. We approach this problem by...

Université de Neuchâtel

Time-based Transactional Memory with Scalable Time Bases

Riegel, Torvald ; Fetzer, Christof ; Felber, Pascal

In: Proceedings of the 19th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA'07), 2007, p. 221-228

Time-based transactional memories use time to reason about the consistency of data accessed by transactions and about the order in which transactions commit. They avoid the large read overhead of transactional memories that always check consistency when a new object is accessed, while still guaranteeing consistency at all times--in contrast to transactional memories that only check consistency on...

Université de Neuchâtel

From Causal to z-Linearizable Transactional Memory

Riegel, Torvald ; Fetzer, Christof ; Sturzrehm, Heiko ; Felber, Pascal

In: Proceedings of the 26th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing (PODC'07), 2007, p. 1-13

The current generation of time-based transactional memories (TMs) has the advantage of being simple and efficient, and providing strong linearizability semantics. Linearizability matches well the goal of TM to simplify the design and implementation of concurrent applications. However, long transactions can have a much lower likelihood of committing than smaller transactions because of the strict...

Université de Neuchâtel

Transactions are back-but are they the same?

Felber, Pascal ; Fetzer, Christof ; Guerraoui, Rachid ; Harris, Tim

In: ACM SIGACT News, 2008, vol. 39, no. 1, p. 48-58

Transactions are back in the spotlight! They are emerging in concurrent programming languages under the name of transactional memory (TM). Their new role? Concurrency control on new multi-core processors. From afar they look the same as good ol' database transactions. But are they really? In this position paper, we reflect about the distinguishing features of these memory...

Université de Neuchâtel

Transactifying Applications Using an Open Compiler Framework

Felber, Pascal ; Fetzer, Christof ; Mueller, Ulrich ; Riegel, Torvald ; Suesskraut, Martin ; Sturzrehm, Heiko

In: Second ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing (TRANSACT'07), 2007, p. 1-8

Transactional memory dramatically reduces the complexity of writing concurrent code. Yet, seamless integration of transactional constructs in application code typically comes with a significant performance penalty. Recent studies have shown that compiler support allows producing highly efficient STM-based applications without putting the hassle on the programmer. So far, STM integration has been...

Université de Neuchâtel

Dynamic performance tuning of word-based software transactional memory

Felber, Pascal ; Fetzer, Christof ; Riegel, Torvald

In: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, 2008, p. 237-246

The current generation of software transactional memories has the advantage of being simple and efficient. Nevertheless, there are several parameters that affect the performance of a transactional memory, for example the locality of the application and the cache line size of the processor. In this paper, we investigate dynamic tuning mechanisms on a new time-based software transactional memory...

Université de Neuchâtel

Automatic data partitioning in software transactional memories

Riegel, Torvald ; Fetzer, Christof ; Felber, Pascal

In: ACM Symposium on Parallel Algorithms and Architectures, Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures, 2008, p. 152-159

We investigate to which extent data partitioning can help improve the performance of software transactional memory (STM). Our main idea is that the access patterns of the various data structures of an application might be sufficiently different so that it would be beneficial to tune the behavior of the STM for individual data partitions. We evaluate our approach using standard transactional...