paper

Modularity and Scalability in Calvin

  • Authors:

📜 Abstract

Calvin is a transaction scheduling and replication management layer for distributed storage systems. By first writing transaction requests to a durable, replicated log, and then using a concurrency control mechanism that emulates a deterministic serial execution of the log’s transaction requests, Calvin supports strongly consistent replication and fully ACID distributed transactions while incurring significantly lower inter-partition transaction coordination costs than traditional distributed database systems. Furthermore, Calvin’s declarative specification of target concurrency-control behavior allows system components to avoid interacting with actual transaction scheduling mechanisms—whereas in traditional DBMSs, the analogous components often have to explicitly observe concurrency control modules’ (highly nondeterministic) procedural behaviors in order to function correctly.

✨ Summary

  • Core contribution. The paper presents Calvin as a transaction-scheduling and replication layer that reduces the coordination cost of distributed ACID transactions by ordering transaction requests before execution. Its pipeline consists of logging, scheduling, and execution: requests are durably logged, schedulers establish a deterministic serial order, and storage backends execute transactions concurrently while preserving equivalence to that order. (cs.yale.edu)
  • Modular architecture. Calvin separates the log, scheduler, and storage backend through explicit interfaces. The log can range from a local file to a sharded, Paxos-replicated implementation; schedulers can use serial execution, deterministic locking, or very lightweight locking; and storage systems expose ANALYZE and RUN operations. Deterministic execution also permits logical recovery by replaying requests after a checkpoint rather than recording physical storage actions. (cs.yale.edu)
  • Reported capabilities. The paper describes support for strongly consistent replication, geographically separated replicas, disk-resident data with prefetching, and extensible deployments including CalvinDB, CalvinFS, and configurations modeled after Hyder and H-Store. It reports a Calvin deployment processing approximately 500,000 TPC-C transactions per second across 100 commodity EC2 machines. (cs.yale.edu)
  • Research influence. The Calvin design became a reference point for later deterministic transaction-processing research. Q-Store explicitly develops a queue-oriented deterministic execution model in response to limitations of earlier systems such as Calvin, while RCC implements Calvin as one of six concurrency-control protocols in a common RDMA-based evaluation framework. (openproceedings.org)
  • Industry influence. Fauna publicly identifies its distributed transaction engine as Calvin-inspired or Calvin-based. Its design adopts the central idea of establishing transaction order through a replicated log before applying writes, while combining it with Raft and other implementation changes. (fauna.com)

The documented influence is therefore both methodological—through subsequent deterministic transaction-processing research—and practical, through commercial distributed-database systems that explicitly acknowledge Calvin as an architectural basis. The 2013 article is an architectural and modularity-focused presentation of the Calvin system, whose foundational transaction-processing work also appeared in the authors’ 2012 SIGMOD paper. (dblp.uni-trier.de)