skip to main content
10.1145/1996130.1996167acmconferencesArticle/Chapter ViewAbstractPublication PageshpdcConference Proceedingsconference-collections
poster

HyFlow: a high performance distributed software transactional memory framework

Published:08 June 2011Publication History

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.

References

  1. K. Arnold, R. Scheifler, J. Waldo, B. O'Sullivan, and A. Wollrath. Jini Specification. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. R. L. Bocchino, V. S. Adve, and B. L. Chamberlain. Software transactional memory for large scale clusters. In PPoPP '08. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. J. Demmer and M. Herlihy. The Arrow distributed directory protocol. In DISC '98. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. T. Harris, J. Larus, and R. Rajwar. Transactional Memory, 2nd edition. Synthesis Lectures on Computer Architecture, 5(1):1--263, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Herlihy and M. P. Warres. A tale of two directories: implementing distributed shared objects in Java. In JAVA '99. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Y. Raz. The Dynamic Two Phase Commitment (D2PC) Protocol. In ICDT'95. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle Scholar
  8. 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 ScholarGoogle Scholar
  9. 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 ScholarGoogle Scholar
  10. W. N. Scherer III and M. L. Scott. Contention management in dynamic software transactional memory. In PODC'04. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. E. Tilevich and Y. Smaragdakis. J-Orchestra: Automatic Java application partitioning. In ECOOP'02. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. B. Zhang and B. Ravindran. Brief announcement: Relay: A cache-coherence protocol for distributed transactional memory. In OPODIS'09. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. HyFlow: a high performance distributed software transactional memory framework

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader