- Home
- People
- Publications
- Downloads
- Contact Us
- SSRG
Download and try our prototypes
Multiple software systems developed in the project are available as open-source/GPL. They are divided into three categories: those integrated in our Hyflow distributed transactional memory framework; those integrated in Infinispan, the open-source distributed in-memory key/value data grid and cache by Red Hat; and those implemented from the ground up.Systems integrated in Hyflow
Systems integrated in Infinispan
Standalone implementations (e.g., Replicated Transactional Systems, Boosted Data Structures, Multicore STM)
Hyflow, our distributed transactional memory framework
HyFlow is a Distributed Transactional Memory (DTM) framework that provides pluggable support for concurrency control protocols and supporting mechanisms (e.g., directory lookup, message ordering). HyFlow exports a simple distributed programming model that excludes locks and relies on just atomic sections. Inside an atomic section, reads and writes to shared, local and remote objects appear to take effect instantaneously.
>> Hyflow2 (Scala)
Hyflow2 is the next iteration of our DTM library. It was redesigned and completely rewritten. Hyflow2 provides more features, new APIs that do not need byte-code rewriting, and better performance. Hyflow2 is written in the Scala language for the JVM, but provides a Java compatibility API. The Scala API is based on the excellent Scala STM API, considered for inclusion in Scala's standard library. The implementation uses actors and the Akka library.Source code is available as a Mercurial repository. Instructions for downloading, compiling, and running benchmarks are available here.
>> Hyflow1 (Java)
Hyflow1 is the JAVA implementation of the Hyflow framework. It uses Java 5 annotations for declaring atomic sections. No changes are needed to the underlying virtual machine or compiler. HyFlow supports the dataflow model and it ensures (distributed) transactional properties including atomicity, consistency, and isolation using a distributed version of the Transactional Locking II (TL2) STM algorithm, called Transactional Forwarding Algorithm (TFA).Source code is available as a Mercurial repository. Instructions for downloading, compiling, and running benchmarks are available here.
>> Hyflow-go: geo-replicated data store
hyflow-go is our geo-replicated, main-memory, highly consistent datastore. We employ multi-master replication schemes to keep latency down while increasing transaction throughput. More details, as well as source code are available on the hyflow-go project page.Any comment or feedback? Please do not hesitate to contact us.