Paper check About

Dynamo: Amazon's Highly Available Key-value Store

Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles, 2007 · paper · Computer science

Presents the design and implementation of Dynamo, Amazon's highly available key-value storage system for core services. To stay always available, it sacrifices consistency under some failures, using object versioning and application-assisted conflict resolution.

Checked: PDF from allthingsdistributed.com, fetched 4 Oct 2026. Page numbers are those of that PDF.

2 findings

Substance Sec. 6.4: client-driven coordination "decreases the average by 3 to 4 milliseconds", but Table 2 averages fall 3.9→1.55 ms (read) and 4.02→1.9 ms (write), i.e. by about 2.1-2.4 ms.
  • p. 14 Section 6.4, paragraph after Table 2
    decreases the average by 3 to 4 milliseconds
  • p. 14 Table 2
    3.9
  • p. 14 Table 2
    3.9 4.02 1.55 1.9
  • p. 14 Table 2
    3.9 4.02 ... 1.55 1.9

Only the authors can say what is right here.

Judge's note: Table 2 on p.14 shows server-driven averages of 3.9 and 4.02 ms and client-driven averages of 1.55 and 1.9 ms. The text points explicitly at the table ('As seen in the table'). The 99.9th-percentile claim ('at least 30 ms', i.e. 38.5 and 38.1) does match. The average-reduction claim does not. '3 to 4' matches the server-driven averages themselves.

Second check: another model agreed

Report a problem with this finding
Reference or label The Bigtable description in Section 3.2 cites "[2]" (Bernstein & Goodman, concurrency control), but Bigtable is reference [3] (Chang et al. 2006).
  • p. 4 Section 3.2, final paragraph
    allows applications to access their data using multiple attributes [2]
  • p. 15 References
    [2] Bernstein, P.A., and Goodman, N. An algorithm for concurrency control and recovery in replicated distributed databases.
  • p. 15 References [2] and [3]
    Chang, F., Dean, J., Ghemawat, S., Hsieh, W. C., Wallach
  • p. 4 Section 3.2, Bigtable sentence
    access their data using multiple attributes [2]

Judge's note: The page 4 image shows "...using multiple attributes [2]" in a sentence about Bigtable. In the page 15 reference list, [2] is Bernstein & Goodman 1984 and [3] is the Bigtable paper. A text search finds no in-text citation of [3] anywhere, so the citation is probably off by one.

Second check: another model agreed

Report a problem with this finding
23 minor (typos and the like; most checked by the judge only)
Wording Length of use is inconsistent: Intro "In the past year, Dynamo has been the underlying storage technology" and Conclusions "The production use of Dynamo for the past year", but 6.6 "Many Amazon internal services have used Dynamo for the past two years".
  • p. 2 Introduction
    In the past year, Dynamo has been the underlying storage technology
  • p. 14 Section 6.6 Discussion
    Many Amazon internal services have used Dynamo for the past two years
  • p. 15 Section 7 Conclusions
    The production use of Dynamo for the past year demonstrates
  • p. 2 Introduction, paragraph 2
    In the past year, Dynamo has been the underlying storage

Only the authors can say what is right here.

Judge's note: Checked all three passages in the images of pp.2, 14 and 15. The Introduction might refer only to core e-commerce services, but the Conclusions speak of production use in general and say one year, while 6.6 says two years. The paper does not reconcile the two periods, so only the authors can say which is right.

Second check: another model agreed

Report a problem with this finding
Wording Sec. 6.1 says buffering lowered "the 99.9th percentile latency by a factor of 5 during peak traffic ... (see Figure 5)"; in Figure 5 the direct-BDB peaks (~180 ms) are only about 3x the buffered values (~60 ms) at the same time.
  • p. 11 Section 6.1
    lowering the 99.9th percentile latency by a factor of 5 during peak traffic
  • p. 10 Figure 5
    direct BDB writes
  • p. 10 Figure 5
    Comparison of performance of 99.9th percentile latencies for buffered vs. non-buffered writes

Only the authors can say what is right here.

Judge's note: Read Figure 5 on p.10 by eye. The direct BDB writes reach about 180 ms at their highest spikes. Buffered writes stay around 55-70 ms through the peak period and are about 40 ms off-peak. A ratio of about 5 is not visible in the plot unless an isolated spike is compared with an off-peak buffered value. Because the values are read by eye, this is a query to the authors: what is the basis for 'factor of 5'?

Second check: another model agreed

Report a problem with this finding
Wording Sec. 6.1 says Figure 4 covers "a period of 30 days", but with "ticks in the x-axis correspond[ing] to 12 hours" the axis shows about 30 tick intervals (about 15 days) and about 15 diurnal cycles.
  • p. 11 Section 6.1
    during a period of 30 days
  • p. 10 Figure 4 caption
    The intervals between consecutive ticks in the x-axis correspond to 12 hours

Only the authors can say what is right here.

Judge's note: Corrected description. In the Figure 4 crop I count roughly 29-30 tick intervals across the x-axis, and the average-read line shows about 15 daily cycles. At 12 h per tick that is about 15 days, not 30. So either the text's '30 days' or the caption's tick spacing looks inconsistent. The tick count is approximate, so this goes to the authors. The reviewer's other points do not hold. The 'Dec. 2006' caption is not in conflict with the text. The 99.9th-percentile write line reads about 250 ms on the log scale, which is reasonably 'around 200 ms'.

Second check: another model agreed

Report a problem with this finding
Typo Subject descriptors list code D.4.2 twice: "D.4.2 [Operating Systems]: Storage Management; ... D.4.2 [Operating Systems]: Performance;"
  • p. 1 Categories and Subject Descriptors
    D.4.2 [Operating Systems]: Performance;
  • p. 1 Categories and Subject Descriptors
    D.4.2 [Operating Systems]: Performance
  • p. 1
    D.4.2 [Operating Systems]: Storage Management; D.4.5 [Operating Systems]: Reliability; D.4.2 [Operating Systems]: Performance;

Only the authors can say what is right here.

Judge's note: Rests on outside knowledge: in the ACM CCS 1998, Operating Systems/Performance is D.4.8. The page image (p.1) shows D.4.2 attached to both Storage Management and Performance. One code cannot stand for two different descriptors, so one of them is wrong. The correct code comes from outside the files.

Second check: none (judge only)

Report a problem with this finding
Typo Introduction para 1 states scalability twice: "to support continuous growth the platform needs to be highly scalable" and then "In addition, to support continuous growth, the platform needs to be highly scalable."
  • p. 1 Section 1, first paragraph
    In addition, to support continuous growth, the platform needs to be highly scalable.

Judge's note: The page 1 image shows both sentences in the same paragraph with nearly identical wording. The repetition is redundant.

Second check: none (judge only)

Report a problem with this finding
Typo "serves tens of millions customers at peak times" is missing 'of' ("tens of millions of customers").
  • p. 1 Section 1, first sentence
    tens of millions customers
  • p. 1 Introduction, first sentence
    serves tens of millions customers
  • p. 1 1. Introduction, para 1
    serves tens of millions customers at peak times

Judge's note: Seen in the page 1 image, first sentence of the Introduction.

Second check: none (judge only)

Report a problem with this finding
Typo "served tens of millions requests" is missing 'of'.
  • p. 2 Section 1
    served tens of millions requests

Judge's note: Seen in the page 2 image, Introduction paragraph on the Shopping Cart Service.

Second check: none (judge only)

Report a problem with this finding
Typo "resolves updated conflicts" should read "resolves update conflicts".
  • p. 4 3.2
    resolves updated

Judge's note: Seen in the page 4 image, Section 3.2. The word form is wrong.

Second check: none (judge only)

Report a problem with this finding
Typo The Figure 2 annotation says keys "in range (A,B)", while Section 4.3 uses half-open ranges "(A, B], (B, C], and (C, D]".
  • p. 5 Figure 2 annotation
    range (A,B)
  • p. 6 Section 4.3
    (A, B], (B, C], and (C, D]

Judge's note: The images of pp.5–6 confirm both notations. This looks like informal notation in the figure, but it does not match the text's interval convention.

Second check: none (judge only)

Report a problem with this finding
Typo Double full stop in Section 4.4: "does not have the latest updates.. If there are no failures".
  • p. 6 Section 4.4, first paragraph
    updates.. If there are no failures

Judge's note: The page 6 image shows two periods.

Second check: none (judge only)

Report a problem with this finding
Typo 'principle' is used for 'principal': "The principle advantage of consistent hashing" (4.2) and "Dynamo's principle design goal" (6.1).
  • p. 6 Section 4.2, first paragraph
    The principle advantage of consistent hashing
  • p. 11 Section 6.1
    Dynamo’s principle design goal

Judge's note: Both instances are visible in the images of pp.6 and 11. Section 4.7 spells it correctly: "The principal advantage of Merkle tree".

Second check: none (judge only)

Report a problem with this finding
Typo Words are missing in "The number of virtual nodes that a node is responsible can decided based on its capacity" (should be 'responsible for can be decided').
  • p. 6 Section 4.2, third bullet
    that a node is responsible can decided based on its capacity
  • p. 6 4.2 bullets
    The number of virtual nodes that a node is responsible can decided based on its capacity

Judge's note: Seen in the page 6 image, third bullet of Section 4.2.

Second check: none (judge only)

Report a problem with this finding
Typo "by examine their vector clocks" should read "by examining their vector clocks".
  • p. 6 Section 4.4, vector clocks paragraph
    by examine their vector clocks

Judge's note: Seen in the page 6 image, Section 4.4.

Second check: none (judge only)

Report a problem with this finding
Typo In Figure 3, D5's clock reads "D5 ([Sx,3],[Sy,1][Sz,1])" with no comma between [Sy,1] and [Sz,1].
  • p. 7 Figure 3
    D5 ([Sx,3],[Sy,1][Sz,1])

Judge's note: The page 7 image shows the missing comma. All other clocks in the figure separate entries with commas, and the text gives [(Sx, 3), (Sy, 1), (Sz, 1)].

Second check: none (judge only)

Report a problem with this finding
Typo Stray word in "has durably written the key it to its local store".
  • p. 8 Section 4.6
    durably written the key it to its local store

Judge's note: Seen in the page 8 image, Section 4.6. The word 'it' is redundant.

Second check: none (judge only)

Report a problem with this finding
Typo Section 4.9: "some existing nodes no longer have to some of their keys" is missing a verb (e.g. 'store' or 'handle').
  • p. 9 Section 4.9
    some existing nodes no longer have to some of their keys

Judge's note: The crop of p.9 shows the text exactly as quoted: 'no longer have / to some of their keys'. A verb is missing.

Second check: none (judge only)

Report a problem with this finding
Typo Figure 4 x-axis label reads "(hourly plot of latencies during our peak seson in Dec. 2006)"; 'seson' should be 'season'.
  • p. 10 Figure 4 x-axis label
    peak seson in Dec. 2006
  • p. 10 Figure 4, x-axis label
    (hourly plot of latencies during our peak seson in Dec. 2006)

Judge's note: Page 10 image and crop C021-b both show 'seson' in the Figure 4 axis label. It is part of the figure graphic, which is why the text layer does not have it.

Second check: none (judge only)

Report a problem with this finding
Typo Figure 8 y-axis label reads "Efficieny (mean load/max load)"; should be 'Efficiency'.
  • p. 13 Figure 8 y-axis label
    Efficieny (mean load/max load)
  • p. 10 Figure 4 x-axis label
    peak seson in Dec. 2006

Judge's note: The 'Efficieny' label is visible on the p.13 figure image. The 'seson' item also listed here is the same defect as C017.

Second check: none (judge only)

Report a problem with this finding
Typo Sec. 6.2: "by a value a less than a certain threshold (here 15%)" contains a stray 'a'.
  • p. 11 Section 6.2
    by a value a less than a certain threshold
  • p. 11
    by a value a less than a certain threshold (here 15%)

Judge's note: The p.11 image shows 'by a value a less than a certain threshold (here 15%)'.

Second check: none (judge only)

Report a problem with this finding
Typo Sec. 6.1: "Dynamo's principle design goal" should be 'principal design goal'.
  • p. 11 6.1
    Dynamo’s principle design goal

Judge's note: The p.11 image shows 'principle design goal'. It is a misspelling of 'principal'.

Second check: none (judge only)

Report a problem with this finding
Typo Sec. 6.6: "tune their instance based on their needs.." has a doubled full stop.
  • p. 14 Section 6.6
    based on their needs..

Judge's note: The double period is visible in the p.14 image.

Second check: none (judge only)

Report a problem with this finding
Typo Reference [15] ends "Berkeley, CA, 12-12.." (double full stop), and ref [14] has "Beehive: O(1)lookup" (missing space).
  • p. 15 Reference [15]
    Berkeley, CA, 12-12..
  • p. 15 Ref [14]
    Beehive: O(1)lookup

Judge's note: The p.15 crops show both defects as quoted.

Second check: none (judge only)

Report a problem with this finding
Typo Conclusions use "an eventual-consistent storage system" while the introduction uses "eventually-consistent storage system".
  • p. 15 7. Conclusions
    an eventual-consistent storage system

Judge's note: The p.15 image shows 'eventual-consistent'. The text layer shows 'eventually-consistent' in the introduction (line 125) and 'eventually consistent' elsewhere. This is a cosmetic inconsistency.

Second check: none (judge only)

Report a problem with this finding
Something wrong with this page, or a finding we missed?