CS6963 Distributed Systems

Lecture 10 Midterm Review

  • Map/Reduce
  • RPC
    • Server, client, stubs
    • At-least once
    • At-most once
  • FDS
    • Full bisection bandwidth
    • Each tractserver stripes data across entire cluster
    • TLT provides per-blob random but deterministic striping
    • TLT structured to maximimze recovery bandwidth
  • Argus
    • Transactions
    • Serializability
    • 2PL
    • 2PC
    • Q: What problem does this solve? When do we need it?
      • Need atomicity in the face of concurrency where each involved party needs the ability to abort the collective operation.
    • What are the two phases?
    • Why can't it be solved in one phase?
    • When can 2PC get stuck?
      • Coordinator + one participant go down.
      • Should walk through the situations.
    • Understand why this is solving a different problem than P/B and Paxos.
  • Thor
    • More conventional DB than Argus
    • OCC (with 2PC)
    • Just read and write and check to make sure it was safe at the end.
    • Validation
    • Enforcing a single total order in validation that is partitioned among 2PC participants
    • Use timestamps
    • Benefits of OCC: lower overhead when low contention
    • No need for locking messages on read/write.
  • Sinfonia
    • Minitransactions
    • Weaker than normal transactions
    • e.g. Can't read a record incr by one and write it with on tx.
    • This makes getting serializability harder when you want to do things like RMW.
    • Must roll own concurrency control using version numbers, etc, using the compare items.
    • Minitransactions are submitted one-shot and execute with quick 2PL integrated into 2PC.
    • Records locked, read, compared in Phase 1.
    • Written, locks dropped after Phase 2.
    • Configurable in tons of durability modes.
    • Weird data model too: not key-value or primary key to record. Instead big address space. Accesses need to include lengths.
    • Makes locking a bit weird, since they are always on ranges.
    • Idea: a tool for building large-scale systems on top.
  • COST
    • Use a laptop to run latest scalable research workloads.
    • Show for some systems/algs/workloads it takes 100s of machines to beat the laptop.
  • Paxos
    • Replicated state machines, replicated command logs
    • Consensus and Basic Paxos
    • Prepare, Accept
    • Multi-Paxos, leader election
    • Don't worry about configuration changes
  • Raft
    • Leader election
    • Log replication
    • Determining when log entries are committed.
  • Lab 2