Centiman: Elastic, high performance optimistic concurrency control by watermarking

Proceedings of the Sixth ACM Symposium on Cloud Computing |

We present Centiman, a system for high performance, elas-
tic transaction processing in the cloud. Centiman provides
serializability on top of a key-value store with a lightweight
protocol based on optimistic concurrency control (OCC).
Centiman is designed for the cloud setting, with an archi-
tecture that is loosely coupled and avoids synchronization
wherever possible. Centiman supports sharded transaction
validation; validators can be added or removed on-the-fly in
an elastic manner. Processors and validators scale indepen-
dently of each other and recover from failure transparently to
each other. Centiman’s loosely coupled design creates some
challenges: it can cause spurious aborts and it makes it dif-
ficult to implement common performance optimizations for
read-only transactions. To deal with these issues, Centiman
uses a watermark abstraction to asynchronously propagate
information about transaction commits through the system.
In an extensive evaluation we show that Centiman pro-
vides fast elastic scaling, low-overhead serializability for
read-heavy workloads, and scales to millions of operations
per second.