This paper is relatively light on technical details, but should
give you an understanding of different consistency guarantees, and
how a system chooses which guarantee to use. Section 2 explains
some different guarantees, and Sections 3 and 4 walk through some
examples that illustrate places where each guarantee might be used.

Pay close attention to Table 2, which rates each type of guarantee
in terms of consistency, performance, and availability. Though the
paper doesn't give the technical details that lead to these ratings,
you should be able to reason about them based on what you've seen in
lecture.

As you read, think about the following:

What are other systems where some of the weaker
consistency guarantees are applicable?

What type of app-specific knowledge matters when determining the
"right" consistency guarantee?

Question for Recitation

Before you come to this recitation, write up (on paper)
a brief answer to the following (really—we don't need
more than a couple sentences for each question). If your TA has
requested that you email your answer to them, you may do that instead,
but it should still be handed in before your recitation begins.

Your answers to these questions should be in your own
words, not direct quotations from the paper.

What is a consistency guarantee? What aspects of a system does
it affect?

How does a system designer choose an appropriate consistency guarantee?

Why does the choice of consistency guarantee matter?

As always, there are multiple correct answers for each of these
questions.