Please see the attached design.pdf design document.
We'll need the following changes to the RAMCloud API to make this happen:
- ping should return a timestamp so that the client/server clocks can be sanity-checked
- version numbers and conditional writes
Without these, RCFS can't have concurrent users safely, but it can still have atomicity with respect to crashes.
Therefore, the first release of RCFS, using only existing RAMCloud v0.2 features, will have atomicity with respect to crashes. The next release, depending on the above changes in RAMCloud v0.3, will also support concurrent users safely.