Lab 1 MapReduce
Lab 2 Raft
vote & election
append & entry
persist
Lab 3 KV-server
get/put/append
key-value store
linearizability
Lab 4 Shard-server
shard & load balance
garbage collection of state
client requests during configuration changes