Calvin: Fast Distributed Transactions for Partitioned Database Systems
Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data, 2012 · paper · Computer science
Presents Calvin, a transaction scheduling and replication layer that uses deterministic ordering to cut the contention costs of distributed transactions across partitions. It scales near-linearly on commodity clusters and supports strong consistency across distant replicas without losing throughput.
Checked: PDF from cs.yale.edu, fetched 4 Oct 2026. Page numbers are those of that PDF.
2 findings
Reference or label Figure 6's x-axis is labelled "contention factor", while the caption ("varying contention index"), the Section 6.2 definition and the Section 6.3 text call the same quantity "contention index".
- p. 10 Figure 6, x-axis label
contention factor
- p. 10 Figure 6 caption
ing contention index.
- p. 10 Figure 6 caption
varying contention index
- p. 10 Section 6.3 text
depending on contention index
Judge's note: Read on the page 10 image: axis label "contention factor" with range 0.001 to 1; caption "Slowdown for 100% multipartition workloads, varying contention index."; text "depending on contention index". "contention factor" appears nowhere else in the extracted text. Same quantity, inconsistent label.
Second check: another model agreed
Report a problem with this finding
Wording Section 5: "Thus AS[K]MW[K] always stores the latest version of the record" conflicts with the rules just stated (MR[K] is the version to read; each checkpoint period begins by setting MW[K] equal to ¬MR[K]); by those rules the latest version is in AS[K]MR[K].
- p. 7 Section 5, last paragraph of the page
always stores the latest version of the record
- p. 7 Section 5, Zig-Zag paragraph
is set equal to MW [K] each time K is updated
Judge's note: Read the Zig-Zag paragraph on the page 7 image and its continuation on page 8; the subscript printed is MW[K], not MR[K]. By the paper's own definitions, right after a checkpoint period begins MW[K] = ¬MR[K] for every key, so for any key not yet updated in the new period AS[K]_MW[K] is the stale slot and the current value is in AS[K]_MR[K] (= AS[K]_¬MW[K]). Once a key is written, MR[K] is set to MW[K] and the two coincide, so the statement holds only for keys already updated in the period, not "always". The evident fix is MR[K] in that subscript. It is a slip in the summary of a cited algorithm and does not affect any result.
Second check: another model agreed
Report a problem with this finding
18 minor (typos and the like; most checked by the judge only)
Wording Section 6.1 says Calvin achieves "around 5000 transactions per second per node in clusters larger than 10 nodes, and scales linearly", while Figure 4's per-node panel declines from about 5,500 (10-20 machines) to about 4,450 (80-100 machines); the abstract and conclusion say "near-linearly".
- p. 9 Section 6.1, last paragraph
around 5000 transactions per second per node in clusters larger than 10 nodes, and scales linearly
- p. 8 Figure 4, lower panel (per-node throughput)
per-node throughput (txns/sec)
- p. 9 Sec 6.1
around 5000 transactions per second per node in clusters larger than
- p. 9 Sec 6.1
and scales linearly
Judge's note: Read Figure 4 lower panel on the page 8 image and crop: about 5,500 at 10-20 machines, about 5,050 at 30, 4,750-4,900 at 40-60, about 4,600 at 70, about 4,450 at 80-100 (flat from 80 to 100). So per-node throughput falls by roughly a fifth across the range the sentence covers; values are read off the plot and approximate. "Around 5000" is a fair summary and the abstract (page 1) and conclusion (page 12) say "near-linearly", so this is loose wording in one sentence, not a wrong number.
Second check: another model agreed
Report a problem with this finding
Typo Missing word: "either all nodes involved the transaction agree to “commit” their local changes" should read "involved in the transaction".
- p. 3 Section 2, first line of the page
either all nodes involved the transaction agree
- p. 3 Section 2, first paragraph
all nodes involved the transaction agree
Judge's note: Read the first line of page 3 on the page image; "in" is missing as printed.
Second check: none (judge only)
Report a problem with this finding
Typo Stray word in Section 3.2: "(the input is be logged by the sequencing layer" should read "is logged" (or "can be logged").
- p. 5 Section 3.2, first paragraph
the input is be logged
- p. 5 Section 3.2, first paragraph
the input is be logged by the sequencing
- p. 8 Section 5, Zig-Zag
the most recent the checkpoint period
- p. 7 Section 5, first mode
freeze an entire replica and produces
Judge's note: Confirmed on the page 5 image. This cluster also bundles other slips that are each real on the page images and are judged in their own clusters: "involved the transaction" (C003), "disk-resident can vary" (C010), "freeze an entire replica and produces" (C011), "the most recent the checkpoint period" (C014) and "provides the roughly the CPU capacity" (C015). This entry is kept for "is be logged" only.
Second check: none (judge only)
Report a problem with this finding
Typo Copy-editing slips: Section 8 "integrate a component that monitor each node's status, could detect failures"; Section 3.2 "the input is be logged by the sequencing layer"; Section 2 "all nodes involved the transaction agree"; footnote 4 "provides the roughly the CPU capacity"; Section 4.1 "The time it takes to read a disk-resident can vary significantly" (noun missing).
- p. 11 Section 8, last paragraph
integrate a component that monitor each node’s status, could de-
- p. 5 Sec 3.2
the input is be logged
- p. 3 Sec 2
all nodes involved the transaction agree
- p. 8 footnote 4
provides the roughly the CPU capacity
Judge's note: Each read on an image: page 11 (Section 8 last paragraph), crop of page 5, crop of page 3, page 8 footnote 4, crop of page 7. All printed as quoted. Grammar and missing or extra words only.
Second check: none (judge only)
Report a problem with this finding
Typo Garbled phrase in Section 3.2.1: "the process have to may be (deterministically) restarted" should read "the process may have to be (deterministically) restarted".
- p. 6 Section 3.2.1
the process have to may be
- p. 6 3.2.1 Dependent transactions, last sentence of first paragraph
the process have to may be (deterministically) restarted
Judge's note: Confirmed on the page 6 image; the words are printed in that order.
Second check: none (judge only)
Report a problem with this finding
Typo Missing verb in Section 4: "as long as no more than 0.9% of transactions (90 out of 10,000) to disk" (e.g. "went to disk").
- p. 6 Section 4, paragraph beginning 'To clearly demonstrate'
of 10,000) to disk
- p. 6 Sec 4
(90 out of 10,000) to disk
- p. 6 Section 4, paragraph on disk-based storage
as long as no more than 0.9% of transactions (90 out of 10,000) to disk
- p. 6 Section 4, disk-based storage paragraph
no more than 0.9% of transactions (90 out of 10,000) to disk
Judge's note: Confirmed on the page 6 image: the clause has no verb. The numbers themselves agree (90 of 10,000 is 0.9%).
Second check: none (judge only)
Report a problem with this finding
Typo Section 5: "Since this only happens at one snapshot at a time, the period during which the replica is unavailable is not seen by the client" — "one snapshot at a time" appears to be meant as "one replica at a time".
- p. 7 Section 5, description of the first checkpointing mode
versioned snapshot of the system. Since this only happens at one
Only the authors can say what is right here.
Judge's note: Confirmed the wording on the page 7 image. The conclusion drawn (the frozen replica's unavailability is hidden from clients) follows only if one replica is frozen at a time, so "at one snapshot" looks like a word slip; the intended word is for the authors to confirm. The verb-agreement slip in the preceding sentence is C011.
Second check: none (judge only)
Report a problem with this finding
Typo Missing noun in Section 4.1: "The time it takes to read a disk-resident can vary significantly for many reasons" (e.g. "disk-resident record").
- p. 7 Section 4.1, first paragraph
disk-resident can vary significantly
- p. 7 Section 4.1, first paragraph
The time it takes to read a disk-resident can vary
Judge's note: Confirmed on the page 7 image; no noun follows "disk-resident".
Second check: none (judge only)
Report a problem with this finding
Typo Verb agreement in Section 5: "The system can periodically freeze an entire replica and produces a full-versioned snapshot" should read "produce".
- p. 7 Section 5, first checkpointing mode
can periodically freeze an entire replica and produces a full-
Judge's note: Confirmed on the page 7 image.
Second check: none (judge only)
Report a problem with this finding
Typo Swapped nouns in Section 5: "so that only one record is kept of each version until the next checkpointing period begins" should read "only one version is kept of each record".
- p. 8 Section 5, paragraph on the Zig-Zag variant
so that only one record is kept of
Judge's note: Confirmed on the page 8 image. The same sentence describes records discarding their "before" versions, which leaves one version per record; the printed wording reverses the two nouns.
Second check: none (judge only)
Report a problem with this finding
Typo Stray article in Section 5: "the beginning of the most recent the checkpoint period" should read "the most recent checkpoint period".
- p. 8 Section 5, first paragraph below Figure 3
the beginning of the most recent the checkpoint period
- p. 8 Section 5, after Zig-Zag description
the most recent the checkpoint period
Judge's note: Confirmed on the page 8 image, first paragraph below Figure 3.
Second check: none (judge only)
Report a problem with this finding
Typo Stray article in footnote 4: "Each EC2 Compute Unit provides the roughly the CPU capacity" should read "provides roughly the CPU capacity".
- p. 8 Footnote 4
provides the roughly the CPU capacity
Judge's note: Confirmed on the page 8 image, footnote 4.
Second check: none (judge only)
Report a problem with this finding
Typo Section 6.1: "Since the focus of our experiments are on distributed transactions" has a singular subject with a plural verb ("focus ... are"; should be "is").
- p. 8 Section 6.1, first paragraph
Since the focus of our experiments are on distributed transactions
Judge's note: Read on the page 8 image, Section 6.1 first paragraph. The text is printed as quoted. Grammar slip only.
Second check: none (judge only)
Report a problem with this finding
Typo Section 6.3, after the displayed formula: "total transactions per second where where D2PC is the duration of the two-phase commit protocol" repeats the word "where".
- p. 10 Section 6.3, line after the displayed formula
total transactions per second where where
- p. 10 Sec 6.3
where where D
- p. 10 Sec 6.3
we therefore expect to locks
- p. 10 Section 6.3, below the formula
total transactions per second where where D2P C
Judge's note: Read on the page 10 image, right column below the 1/(C*D2PC) formula; both words are in the running text. The "expect to locks" slip some reviewers attached here is judged under C021.
Second check: code check
Report a problem with this finding
Typo Section 6.3: "we therefore expect to locks to be held for approximately 8ms on each distributed transaction" contains a stray "to" (should read "expect locks to be held").
- p. 10 Section 6.3, paragraph on ping latency
we therefore expect to locks
- p. 10 Section 6.3, paragraph on EC2 ping latency
we therefore expect to locks to be held
- p. 10
we therefore expect to locks to be held for approximately 8ms
Judge's note: Read on the page 10 image, right column, paragraph on EC2 ping latency. Printed as quoted.
Second check: none (judge only)
Report a problem with this finding
Typo Section 6.3, last paragraph: "is a major factor behind the decision for most modern distributed system not to support ACID transactions" should read "systems".
- p. 11 Section 6.3, last paragraph
is a major factor behind the decision for most modern distributed
Judge's note: Read on the page 11 image, left column, end of Section 6.3. Printed as quoted.
Second check: none (judge only)
Report a problem with this finding
Typo Reference [15]: "Wait-free coordination for internet-scale systems. In In USENIX Annual Technical Conference." repeats "In" and gives no year.
- p. 12 Reference [15]
Wait-free coordination for internet-scale systems. In In
- p. 12 References [15]
Wait-free coordination for internet-scale systems. In In USENIX Annual Technical Conference.
Judge's note: Read on the page 12 image. The second "In" is italic, part of the venue field. Every other conference and journal entry in the list carries a year; this one has none.
Second check: none (judge only)
Report a problem with this finding
Typo Acknowledgments: "the National Natural Science foundation of China" has a lower-case "foundation"; the same funder is "National Natural Science Foundation of China" two sentences earlier.
- p. 12 Acknowledgments
National Natural Science foundation of China
Judge's note: Read on the page 12 image, Section 10. Both forms are printed in the same paragraph.
Second check: none (judge only)