Sherlock: Under the hood of distributed data stores
- Developed the Sherlock framework which traces a distributed data store's operations and generates a global ordering of interesting events based on the concept of Lamport's logical clock.
- Developed algorithms and implemented tools that operate on these events to generate protocol graphs and automatically infer various properties of the storage system such as - the type of consistency, durability, replication, quorum values etc.
- Used Sherlock's above tool-set to study distributed stores such as OpenStack Swift, Voldemort, HyperDex, Redis etc. The study revealed interesting aspects in a few datastores that have strong implications for people experimenting with them.