CMSC 818e Day 8

Reading time ~1 minute

These are notes taken during CMSC 818e: Distributed And Cloud-Based Storage Systems. Course webpage and syllabus here.

Day Eight

  • Strong consistency means R+W > N (a strict quorum system) - the read and write quorums overlap
  • Partial consistency otherwise
    • assumes that applications can tolerate some staleness
  • staleness in terms of time and staleness in terms of replicas
    • a read is k-regular if it returns the result of one of the K most recent writes
    • system provides (K, p)-regular semantics if each read is K-regular w/ prob
    • a read is delta-regular if it returns the result of the last write as of up to delta time units ago
    • system provides (delta, p)-regular semantics if each read is delta-regular w/ prob p
  • PBS: Probabilistically Bounded Staleness link
  • Bolt-on consistency: enforce causal consistency across systems that only support eventual consistency using a shim layer
    • motivated by a need for stronger consistency, lower latency (tolerance for staleness)
    • Write path: client write performed in local store, send to ECDS w/ metadata
    • Read path (causal): Client read satisfied by local store (might result in staleness)
    • Read path (pessimistic): synchronous checking on data, and dependencies, in the ECDS, rather than replying on async resolve process to do this for us (read latency is seriously impacted by this)
  • HAT: Highly available transactions
  • causal consistency is the strongest consistency you can guarantee in the face of partitions
  • differentiate between potential and explicit causality. Potential causality is what we usually think of, and which they do not consider further (because the possible dependency trees would get too bushy)
  • Dynamo, Cassandra etc now provide an extra layer that supports causal consistency.

Sharding the Shards

In "Sharding the Shards: Managing Datastore Locality at Scale with Akkio", Annamalai, et al. present Akkio, a locality management service...… Continue reading