A tale of two directories: implementing distributed shared objects in Java
JAVA '99 Proceedings of the ACM 1999 conference on Java Grande
Jini Specification
The Dynamic Two Phase Commitment (D2PC) Protocol
ICDT '95 Proceedings of the 5th International Conference on Database Theory
The Arrow Distributed Directory Protocol
DISC '98 Proceedings of the 12th International Symposium on Distributed Computing
J-Orchestra: Automatic Java Application Partitioning
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Advanced contention management for dynamic software transactional memory
Proceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing
Software transactional memory for large scale clusters
Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming
Brief Announcement: Relay: A Cache-Coherence Protocol for Distributed Transactional Memory
OPODIS '09 Proceedings of the 13th International Conference on Principles of Distributed Systems
Transactional Memory, 2nd Edition
Transactional Memory, 2nd Edition
Snake: control flow distributed software transactional memory
SSS'11 Proceedings of the 13th international conference on Stabilization, safety, and security of distributed systems
Hyflow2: a high performance distributed transactional memory framework in scala
Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools
Hi-index | 0.00 |
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.