TODO for SOSP Camera Ready
- 1 M client benchmark / cstlee
Full-mix for TPC-C benchmark / seojin
- Measure 1-level deeper for throughput (factor analysis?)
- Clarify the term linearizability: make proposals. / collin
- Talk about ultimate client / John??
- Clarify exp setup for TPC-C benchmark.
- Comparision with tell from VLDB.
- Extra paragraph lease
Tentative schedule for both linearizability and TX.
Nov 3: Today
Nov 14: TX design draft
Nov 21: Linearizability implementation
Jan 27: TX Implementation
Feb 27: 1st draft & Measurements
Mar 28: Final
Transaction Components (Assumes 4 + 1 days / wk)
Client Driven Transaction
- Prep Rpc and Handling - Seojin / DONE!
- Client driven transactions "task" - Collin / DONE!
- Transaction object & API - Collin / DONE!
- Multiple objects per prepare RPC - DONE!
Transaction Cleanup Coordinator (Recovery Coordinator)
- Timer and Rpc for initiating recovery protocol. - Seojin / Half DONE.
- Request Abort Rpc and Handling - Seojin / 2 day
- Transaction Cleanup "task" - Collin / DONE!
- Transaction Cleanup crash recovery - Collin / DONE!
Common Components (Mostly in Data Master)
- Decision Rpc - seojin / DONE!
- lock table - Collin / DONE!
- Special GC rules for transaction entires (& lease expiration handling) - Seojin / 3 day
- Transaction log records & recovery - Seojin / DONE!
- Throughput and latency for TX varying # of objects and size of objects / READ vs. WRITE / # of servers. No contention.
- Varied contention
- (Conditional) Write latency for varied size of objects.
- Crash recovery for client / server?
- Scalability of leases?
- Run TPC-C and compare with other systems (eg. H-store)
- Ask Ankita and SYang
Current Client Side TimeTrace:
- increment handling
- Coordinator RPC GetLeaseInfo w/ batching
Cluster Clock and Time support - Collin Lease manager - Collin
Backup's log reading during recovery - Collin (6days) Recovery from log <logReplay> (6 days) Handling of Linearizable RPC in MasterService - Seojin (3 days) Durable logging - Seojin (3 days) Log cleaning for rpc log entry - Collin (4 days) In-memory client table (UnackedRpcResult) - Seojin
Linearizable RPC handling. (using RpcTracker and ClusterClock) - Seojin (3 days) Client lease - Collin (4 days) In-memory RPC table (RpcTracker) - Seojin