Tasks for SLIK 0.5

Timeline for paper submission (OSDI 14)

  • Reuse external B-tree, port to RAMCloud
  • Changing object format, supporting writes/reads with multiple keys
  • Memory allocation for indexes
    • 1st implementation with mallocs
    • Real implementation with RAMCloud objects storing tree nodes (04/08 or 04/09) (3/4 - 3/5)
  • Master Recovery
    • Recover 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)
  • Write
    • API (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)
    • API
    • RPC from client to index server and back with primary key hashes – maybe multiple rpcs (if overflow)
    • Code to retrieve required information (3/7)
  • IndexedRead
    • API
    • RPC 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 test
  • End-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