Tasks for SLIK 0.5
Timeline for paper submission (OSDI 14)
Reuse external B-tree, port to RAMCloudChanging object format, supporting writes/reads with multiple keysMemory allocation for indexes1st implementation with mallocs- Real implementation with RAMCloud objects storing tree nodes (04/08 or 04/09)
(3/4 - 3/5)
Master RecoveryRecover index data (piggybacking on RAMCloud recovery to get log data then reconstruct trees)Recover metadata on new index masters
- Schema mgmt (schema includes types and location map)
- Recovery of index partition metadata on coordinator in case of coordinator crash --> transferred to SLIK 1.0 tasks
RPCs for schema mgmt from client to coordinator (create and delete) (2/25)RPCs for schema mgmt from coordinator to masters (3/4)RPCs for schema information from coordinator to client (for lookups) (3/4)- Static partitioning of indexes (needed for scalability) (later)
WriteAPI (2/24)RPCs from client to master (and master to backups) (2/24)RPCs from master to index servers (2/24)Code to write index entries (call to btree / wrapper for btree) (2/28)Code to use this at the data master (basically percolate up) (2/28)
Lookup (range)APIRPC from client to index server and back with primary key hashes – maybe multiple rpcs (if overflow)Code to retrieve required information (3/7)
IndexedReadAPIRPC from client to master server with pk hashes – maybe multiple rpcs (if overflow)Code to retrieve required data (3/7)
End-to-end simple system testEnd-to-end multiobject ops system test (later)
04/08 - 04/09: Ankita: Related work check which system to benchmark against
04/09 - 04/15: Ankita: Talk to Chris Re about related work
04/09 - 04/15: Ankita: Really crappy first draft: except perf, related work, conclusion
04/09: Arjun: Integrate his allocation code with the system
04/09: Ashish: Trivial benchmark: indexed write, lookup + indexedRead latency in RAMCloud system
04/11: Ashish: Setup MySQL: Install server, write a client that successfully does a write and read
04/11: Arjun: Setup Cassandra: Install server, write a client that successfully does a write and read
04/15: Ashish+Arjun: Benchmark:
- End-to-end lookup+indexedRead
- For n indexes (vary n), small num and large num of objects
- At least single node (distributed if possible)
- MySQL, Cassandra, RAMCloud
.....
04/22: Full benchmark
05/01: OSDI Deadline
Apr 17: Experiment 1 (rm), Experiment 2(rm)
Apr 21: Experiment 3 (rm)
--------------------------------------------------------------------------------------
March 14: First correct (acc to tests) implementation done
March 15: Start writing paper draft
March 15: Start benchmarking
March 23: Basic benchmarking done (this will uncover issues)
March 24: Implementation: Start fixing issues discovered
March 24 - 31: related work research + basic benchmarks of other systems
April 5: First draft
April 5: Bug free (for those discovered during benchmarking etc) implementation
April 10: Final benchmarks done + nice graphs
April 14: Second draft
April 23: (Almost) Final draft ready
May 1: OSDI Deadline