This page documents the goals and results for a series of milestones for the first implementation of RAMCloud. Each milestone last 2 weeks, ending on a Monday.
Milestone 1: ends February 15, 2010
- Aravind:
- RCBuf implementation (including docs and tests) (est: 3 days) (actual: done in 4 days, ~10 hours)
- Use RCBufs in current RPC mechanism (est: 1 day) (actual: done in 2 half-days)
- New RPC API implemented on TCP (est: 4 days) (actual: not done)
- Extras: protocol buffer tests
- Diego:
- Mini-transactions returning Booleans (est: 3 of "7") (actual: not done (90%?) spent "5")
- Mini-transactions returning results/error info (est: 4 of "7") (actual: not done (90%?), spent "2")
- Extras: transaction discussions, functional tests
- Ryan:
- Finish GetSegMetaData (est: 2 days) (actual: done in 16 actual hours)
- Support multiple segments in backup (est: 3 days) (actual: not done)
- Support multiple backups/master (est: 3 days) (actual: not done)
- Extras: cleanup (4 hours)
- Steve:
- New tombstone code (est: 1 day) (actual: done in 4 hours)
- Log/tombstone docs (est: 1 day) (actual: done in 2 hours)
- Log/tombstone tests (est: 3 days) (actual: not done; halfway?)
- Segment docs (est: 1 day) (actual: done in 1 hour)
- Segment tests (est: 1 day) (actual: done in 2-3 hours)
Milestone 2: ends March 1, 2010
- Aravind:
- Analyze protocol buffer performance (est: 0.5 day)
- Implement new RPC API on TCP (est: 4 days)
- Code review of RCBUF (est: 0.5 day)
- Quick and dirty user-level implementation of scatter-gather (est: 1 day)
- Diego (modified 2010-02-18 with John's approval):
- Ryan:
- Propagate GetSegMetaData through server (est: 0.5 day)
- Boilerplate recovery routine (est: 0.5 day)
- Creating shadow objects in log (est: 2 days)
- Steve:
- Log/tombstone tests (est: 1 day)
- Design for multi-threading (est: 2 days)