Rococo: Extracting More Concurrency in Distributed Transactions

Distributed storage systems run transactions across machines to ensure serializability. Traditional protocols for distributed transactions are based on two-phase locking (2PL) or optimistic concurrency control (OCC). 2PL serializes transactions when they conflict and OCC resorts to aborts, thus both leave many opportunities for concurrency on the table. RoCoCo is a novel concurrency control protocol for distributed transactions that outperforms 2PL and OCC for contended transactions by allowing more concurrency in the system. RoCoCo pre-processes transactions by chopping them into pieces, each of which can execute atomically on a single server. Servers track dependencies between concurrent transactions at runtime. At commit time, the transaction coordinator disseminates a transaction's dependency information to all servers so they can re-order interfering pieces into a serializable order.

People:

Publications:

Acknowledgements:
We thank NSF and the team building and maintaining the NSF PRObE Kodiak testbed. The evaluations for the RoCoCo project have been done on the Kodiak testbed to demonstrate its scalability.