hyflow-go: a Transaction Execution Framework in Go

What is hyflow-go

hyflow-go is a distributed transaction execution framework optimized for geographically-replicated deployments and main-memory data storage. It is written in the Go programming language, inheriting advantages such as speed, low-memory profile, and ease of deployment.

Current status

hyflow-go at this time is research software and should only be used for tests and experiments. It is currently under heavy development at the System Software Research Group at Virginia Tech and we hope to soon produce a version that is usable in practice.

Supported protocols

hyflow-go currently contains preliminary implementations for the following protocols:

  • Alvin, our novel in-house transactional protocol.
  • EPaxos
  • Sequencer

These protocols are strongly consistent and target either Serializability (SR) or Extended Update Serializability (EUS).


hyflow-go only supports Linux at this time. Assuming Mercurial and a Go SDK are available under the current PATH, building hyflow-go should be done as follows:

cd $GOPATH/src
hg clone hyflow
cd hyflow/benchmark/hyflow-go-bench/
go install