ZEUS

locality-aware distributed transactions

What is ZEUS ?

It is a distributed datastore inspired by the multiprocessor's hardware transactional memory that offers fast locality-aware transactions (txs) with reliability (i.e., strong consistency and availability) in three steps.

1. Execute as the owner

At object access if the tx coordinator is not the object owner (i.e., a replica with exclusive write access) it acquires the ownership. The ownership is across object concurrent can be acquired after just 3 hops. Critically, the ownership stays with the coordinator. Thus, future txs to these objects execute solely via local accesses (until locality changes and the ownership is taken over).

2. Local Commit

Because the tx has been executed with ownership, it can commit locally to the coordinator. To commit the tx a traditional single-node commit is used. This suffices to also complete read-only tx. However, any updates performed by write tx are only local to coordinator and they will be permanently lost if it fails.

3. Reliable Commit

Completes write txs fast by pushing updates to replicas in 1rtt since committed txs need no conflict resolution. Because reliable commit is non-abortable it can also pipeline txs. Future txs use the local state with certainty and issue updates without waiting for the reliable commit completion of previous txs. Zeus' reliable commit also enables local read-only txs from all replicas (i.e., without ownership).

Zeus exapts ideas of HERMES to implement reliable ownership and transaction commit.

Eurosys '21 Presentation

High Performance

Tx execution happens with local access in the common case that the coordinator is already the owner. Zeus commits tx via an efficient single-node commit which is fully-local for read-only txs (and can be executed by any replica), while it is non-abortable, completes fast (1rtt) and is pipelined for writes txs.

Programmability

Zeus provides the strongest consistency (strict serializability) to support the broadest spectrum of applications and provide an intuitive behavior. Write txs also guarantee opacity: even aborted txs cannot access inconsistent state. This relieves the programmers from the burden of having to handle such corner cases. Finally, Zeus tx pipelining allows for high single-session performance without mandating user-space tx multiplexing to maximize performance as in prior state-of-the-art works.

Fault Tolerance

Each an every step of the ownership protocol and the reliable commit of Zeus are designed to be idempotent. Moreover every participant involved has all the required information to replay these steps and recover after a fault (similarly to Hermes).

Q & A

Our goal is to facilitate a public and interactive Q&A to benefit the public.
See answers of existing questions or post your own questions about Zeus using the button below.



Inspired by HERMES

Zeus builds upon ideas of HERMES a high performance single-key reliable replication protocol.



License

The detailed TLA+ specs of Zeus are freely distributed to the public under the Apache 2.0 License.

Contact

If you have any questions regarding Zeus do not hesitate to contact
Antonis Katsarakis (antonios.katsarakis {at} ed.ac.uk).