Note: The material of the website is currently updated. Please visit periodically to monitor updates as the beginning of the semester approaches.
Title | Due Date | Material |
Project 0 | 02/02 | Project 0 Doc |
Project 1 | 02/16 | Project 1 Doc |
Project Proposal | 02/23 | |
Mid-semester Report | 03/29 | Report Template |
Preliminary Project Report | 04/22 | |
Final Project Report | 04/26 |
A quick dev. project to sharpen C++ skills and to prepare for the upcoming research/dev project.
A small benchmarking project on RocksDB.
Every student should complete a semester-long class project. The students can decide between a systems project and a research project.
A system project sharpens your systems skills and provides background on state-of-the-art systems, data structures and algorithms. For a successful systems project you will design and implement a systems component in C or C++, and you will deal with low-level system implementation details like memory allocation and management, cache-aware processing, parallel and concurrent processing and a deeper understanding of read/write performance trade-offs, and performance scalability. Systems projects can be carried out by one student or a group of two students.
This year we will have two topics for a systems project.
A research project, on the other hand, aims at challenging the state-of-the-art. The goal is (i) either to better understand an open research problem through analysis and benchmarking, or (ii) to solve open problems through new designs and proof-of-concept implementations. The ultimate goal of a research project is to give a taste of research to students, and ideally lead to publications. When working on a research project, the student will interact with the instructor and the teaching assistants closely. Students will work in groups of three students.
We have a number of possible research topics below. The students can also propose their own project (subject to instructor's approval).
Boosting Join Implementation for Skew Correlation in Postgres
Finding the Optimal Granularity of Index
Quantifying Write Amplification in LSM-based Key-Value Stores on SSDs
Benchmark Large Graph Processing Systems
Q-QUEST: Are Questionable QUEry Selectivity Tolerable?