scispace - formally typeset
Proceedings ArticleDOI

HyFlow: a high performance distributed software transactional memory framework

Mohamed M. Saad, +1 more
- pp 265-266
Reads0
Chats0
TLDR
HyFlow is a Java framework for D-STM, with pluggable support for directory lookup protocols, transactional synchronization and recovery mechanisms, contention management policies, cache coherence protocols, and network communication protocols, that outperforms competitors on a broad range of transactional workloads on a 72-node system.
Abstract
We present HyFlow --- a distributed software transactional memory (D-STM) framework for distributed concurrency control. HyFlow is a Java framework for D-STM, with pluggable support for directory lookup protocols, transactional synchronization and recovery mechanisms, contention management policies, cache coherence protocols, and network communication protocols. HyFlow exports a simple distributed programming model that excludes locks: using (Java 5) annotations, atomic sections are defined as transactions, in which reads and writes to shared, local and remote objects appear to take effect instantaneously. No changes are needed to the underlying virtual machine or compiler. We describe HyFlow's architecture and implementation, and report on experimental studies comparing HyFlow against competing models including Java remote method invocation (RMI) with mutual exclusion and read/write locks, distributed shared memory (DSM), and directory-based D-STM. Our studies show that HyFlow outperforms competitors by as much as 40-190% on a broad range of transactional workloads on a 72-node system, with more than 500 concurrent transactions.

read more

Content maybe subject to copyright    Report

Citations
More filters
Journal Article

A Lazy Snapshot Algorithm with Eager Validation

TL;DR: This paper formally introduces a lazy snapshot algorithm that verifies at each object access that the view observed by a transaction is consistent and demonstrates that the performance is quite competitive by comparing other STMs with an STM that uses the algorithm.
Proceedings ArticleDOI

Hyflow2: a high performance distributed transactional memory framework in scala

TL;DR: A new DTM framework for the Java Virtual Machine named Hyflow2 is proposed, based on the existing ScalaSTM API soon to be included in the Scala standard library, to create a smooth transition from multiprocessor STM programs to DTM.

Hyflow2: A High Performance Distributed Transactional Memory Framework in Scala Full research paper

TL;DR: HyHyflow2 as mentioned in this paper is a new distributed transactional memory (DTM) framework for the Java Virtual Machine, which is implemented in Scala and base on the existing ScalaSTM API soon to be included in the Scala standard library.
Proceedings ArticleDOI

Data-centric execution of speculative parallel programs

TL;DR: This work designs simple hardware techniques that allow a state-of-the-art, tiled speculative architecture to exploit hints, a technique that leverages program knowledge to reveal and exploit locality in speculative parallel programs.
Proceedings ArticleDOI

On open nesting in distributed transactional memory

TL;DR: This article extends two DTM algorithms, Transactional Forwarding Algorithm and SCORe with support for open nested transactions and implements them into two frameworks for running distributed transactions, such as Hyflow and Infinispan.
References
More filters
Book ChapterDOI

Time, clocks, and the ordering of events in a distributed system

TL;DR: In this paper, the concept of one event happening before another in a distributed system is examined, and a distributed algorithm is given for synchronizing a system of logical clocks which can be used to totally order the events.
Journal ArticleDOI

Space/time trade-offs in hash coding with allowable errors

TL;DR: Analysis of the paradigm problem demonstrates that allowing a small number of test messages to be falsely identified as members of the given set will permit a much smaller hash area to be used without increasing reject time.
Journal ArticleDOI

Time, clocks, and the ordering of events in a distributed system

TL;DR: In this article, the concept of one event happening before another in a distributed system is examined, and a distributed algorithm is given for synchronizing a system of logical clocks which can be used to totally order the events.
Journal ArticleDOI

Linearizability: a correctness condition for concurrent objects

TL;DR: This paper defines linearizability, compares it to other correctness conditions, presents and demonstrates a method for proving the correctness of implementations, and shows how to reason about concurrent objects, given they are linearizable.
Proceedings ArticleDOI

Transactional memory: architectural support for lock-free data structures

TL;DR: Simulation results show that transactional memory matches or outperforms the best known locking techniques for simple benchmarks, even in the absence of priority inversion, convoying, and deadlock.