CSE 552 Spring 2019 Final Exam

Due Thursday, June 13 at 5pm

You may consult online resources, but you may not collaborate with other people.

Problem 1
Give an example of an anomaly caused by inconsistency that could arise in Eiger, which has causal+ consistency, but not in Egalitarian Paxos (EPaxos), which has linearizability but not strong serializability. Also, give an example of an anomaly that could arise in EPaxos but not Eiger.
Problem 2
Spanner encourages applications to pre-declare read-only transactions as such. Why?
Problem 3
In regular Multi-Paxos, before a new leader can start making proposals (also known as phase-2a messages) in a ballot (also known as a view), it must first gather phase-1b messages (also known as view-change messages) from a quorum of replicas. Those messages sometimes force it to make certain proposals in the new ballot. Specifically, if there are any proposals for a slot among the phase-1b messages, then it must propose the one among them from the latest ballot.

Why is it not possible for there to be, in that quorum of phase-1b messages, two different proposals for the same slot in the same ballot?

In contrast, in NOPaxos, it is possible for there to be two different proposals for the same slot in the same view. How is this possible, what must the new leader propose in this situation, and why is this proposal safe?
Problem 4
FaRM uses one-sided RDMA operations to interact with remote memory without involving the remote CPU. What characteristic delineates between workloads that perform well in a one-sided model versus those that perform poorly?
Problem 5
What's the commit point for each of the following operations? Remember that a commit point is the earliest point at which it's assured that the operation will eventually occur.
  • In NetCache, an overwrite of a cached key's value with a value that has the same size
  • In NOPaxos, the execution of a client request
  • In Bitcoin, the inclusion of a transaction in the blockchain