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.
- K. Arnold, R. Scheifler, J. Waldo, B. O'Sullivan, and A. Wollrath. Jini Specification. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA. Google ScholarDigital Library
- R. L. Bocchino, V. S. Adve, and B. L. Chamberlain. Software transactional memory for large scale clusters. In PPoPP '08. Google ScholarDigital Library
- M. J. Demmer and M. Herlihy. The Arrow distributed directory protocol. In DISC '98. Google ScholarDigital Library
- T. Harris, J. Larus, and R. Rajwar. Transactional Memory, 2nd edition. Synthesis Lectures on Computer Architecture, 5(1):1--263, 2010. Google ScholarDigital Library
- M. Herlihy and M. P. Warres. A tale of two directories: implementing distributed shared objects in Java. In JAVA '99. Google ScholarDigital Library
- Y. Raz. The Dynamic Two Phase Commitment (D2PC) Protocol. In ICDT'95. Google ScholarDigital Library
- M. M. Saad and B. Ravindran. Distributed Hybrid-Flow STM: Technical Report. Technical report, ECE Dept., Virginia Tech, Dec.'10. URL http://hyflow.org/trac/hyflow/wiki/Publications.Google Scholar
- M. M. Saad and B. Ravindran. Distributed Transactional Locking: Technical Report. Technical report, ECE Dept., Virginia Tech, Jan.'11. URL http://hyflow.org/trac/hyflow/wiki/Publications.Google Scholar
- M. M. Saad and B. Ravindran. RMI-DSTM: Control Flow Distributed Software Transactional Memory: Technical Report. Technical report, ECE Dept., Virginia Tech, Feb.'11. URL http://hyflow.org/trac/hyflow/wiki/Publications.Google Scholar
- W. N. Scherer III and M. L. Scott. Contention management in dynamic software transactional memory. In PODC'04. Google ScholarDigital Library
- E. Tilevich and Y. Smaragdakis. J-Orchestra: Automatic Java application partitioning. In ECOOP'02. Google ScholarDigital Library
- B. Zhang and B. Ravindran. Brief announcement: Relay: A cache-coherence protocol for distributed transactional memory. In OPODIS'09. Google ScholarDigital Library
Index Terms
- HyFlow: a high performance distributed software transactional memory framework
Recommendations
Hybrid STM/HTM for nested transactions on OpenJDK
OOPSLA '16Transactional memory (TM) has long been advocated as a promising pathway to more automated concurrency control for scaling concurrent programs running on parallel hardware. Software TM (STM) has the benefit of being able to run general transactional ...
Hybrid STM/HTM for nested transactions on OpenJDK
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsTransactional memory (TM) has long been advocated as a promising pathway to more automated concurrency control for scaling concurrent programs running on parallel hardware. Software TM (STM) has the benefit of being able to run general transactional ...
Scheduling Closed-Nested Transactions in Distributed Transactional Memory
IPDPS '12: Proceedings of the 2012 IEEE 26th International Parallel and Distributed Processing SymposiumDistributed software transactional memory (D-STM) is an emerging, alternative concurrency control model for distributed systems that promises to alleviate the difficulties of lock-based distributed synchronization -- e.g., distributed deadlocks, live ...
Comments