Skip to main content

Milestone 4: Distributed Storage #

Collaboration: Individual milestone
Completion: About 8–10 hours
Deadline: Monday Mar. 4, 2024 (11:59PM ET)
Latest handout version: CS1380:2024:M4
GitHub repo: https://github.com/brown-cs1380/m4

The goal of this milestone is to implement a distributed and scalable storage subsystem over a set of nodes. Its core is a distributed key-value store centered around two classic techniques — consistent hashing and rendezvous hashing — to store, retrieve, update, and delete objects. An important benefit of these techniques is their ability to offer optimal reconfiguration overhead when a node is removed from a group or a new node is added to the group. This milestone builds on M3: given an object and a set of nodes in a group, your implementation should be able to pick a node responsible for storing that object.