CS2640 Modern Storage Systems
Course Project

Project Overview

You will come up with an idea to measure, build, or improve a storage system component, get it approved by the instructor, and implement it over the course of the semester. The project is designed to give you hands-on experience with storage systems and allow you to explore a topic of your interest in depth. This is an individual project that encourages the use of AI for both brainstorming and coding assistance. The final deliverables include a short report and a presentation to the class. Your presentation will be peer-evaluated and your report will be evaluated by the instructor and TA. The project is worth half of your final grade.

Objectives:
  • Apply concepts learned in class to a real-world problem
  • Gain experience with systems programming and performance evaluation
  • Deep dive into a specific area of storage systems
  • Develop skills in technical writing and presentation
Team Policy: Projects must be done individually with no teams allowed.

Grading Criteria

Project grades will be based on the quality of the proposal, implementation, evaluation, final report, and presentation, using the detailed criteria below. The grade primarily reflects the effort and rigor you bring to the project. While novelty is considered in the evaluation, it is not heavily weighted. Accordingly, an idea that does not succeed will not hurt your grade if you demonstrate a solid understanding of why it does not work. Likewise, engineering-focused or measurement-oriented projects can also earn high marks when they show strong execution, sound analytical reasoning and useful insights.

Grading breakdown:
  • Proposal: 10%
  • Midterm Checkpoint: 10%
  • Project Presentation: 10%
  • Final Project Report and Code: 20%

Project Timeline

Milestone Due Date Description
Proposal 2026-03-09 A one-page document (not including references) outlining the problem you will solve, challenges, proposed solution, and evaluation plan. Please document your 75%, 100% and 125% goals.
Midterm Checkpoint 2026-04-06 A one-page document on top of your proposal to report your progress and challenges. Include preliminary results if available.
Project Presentation 2026-04-27, 2026-04-29, 2026-05-04 An 8-minute (may change) presentation to the class. Your presentation will be evaluated based on clarity, depth, and ability to answer questions. The evaluation will be by both peers and the instructor. Everyone must attend the presentations and give (anonymous) score and feedbacks to your peers. 50% of the presentation score are based on your presentation and 50% are based on your feedback to others.
Final Project Report May 6, 2026 Final report (no more than three pages, but can have unlimited appendix), one page of AI-coding experience (how you used AI, what you learned and what you did not expect, any useful tips to share) and source code with documentation. Please indicate which goal you have achieved.

Deliverables

Please submit a PR to the course project GitHub repository. Must include README, build instructions and your report in your own folder. Please keep your Git history when creating the PR by rebasing onto the main branch. You can also need to add a title, author, and abstract to the top-level README.


Testbed Available

Cloudlab Access

Cloudlab is a flexible and powerful testbed for computer systems research. We will provide Cloudlab access for students. Please go to Getting Started with Cloudlab to set up your account and get familiar with the platform. You will join project cs2640 when registering your account.

Other testbeds

Depends on your project requirements and preferences, we will also provide other testbeds.


AI Resources

Harvard students have access to a variety of AI tools. For example, ChatGPT is available for free via HUIT, Gemini and VSCode Copilot is free via Google and GitHub respectively. You can compare the tools using AI Tool Comparison Table.

As part of this course, we also provide free coding agent access to all students. Please read https://doc.freeinference.org/ and register on https://freeinference.org/ using your Harvard email address. We recommend using KiloCode in VSCode and MiniMax model for best experience.