Debugging Cloud Computing

Tufts Cloud Computing | COMP 150-DCC | Spring 2023

Projects


Projects

For your class project, you will conduct original research and engineering in the area of debugging cloud-computing systems. You will work with state-of-the-art debugging techniques and explore how to extend them either to improve their functionality, extend the range of use cases to which they could be applied, or to make them easier to use by engineers. In the course of your project, you will have to carefully consider and evaluate tradeoffs between different design choices; this is a paramount skill you need to learn to work in systems or networking.

We encourage you to be bold during the course of your project and do not be afraid to fail! We do not care so much if your project works so much as long as you can clearly explain: 1) why you chose the design choices you did in terms of their strengths and weaknesses, 2) the results of your evaluation, 3) why you think the project (and your design choices) worked or didn't work, and 4) What you learned from your experiences and what you would do next (or differently) if you were to continue working on the project.

You may find encouragement and inspiration from this set of podcasts on Failure from TED and this talk on finding success by Elizabeth Gilbert. Also, please read and re-read Levin83 at multiple points during the semester to internalize the elements of a high-quality research paper.


Project options

The list of projects for Spring'23 is available here. some projects focus on engineering and some focus on research; some projects have external mentors while others do not. You need to be signed into Google with your @tufts.edu account to view projects.


Project milestones

There are multiple milestones for your project. They include:

  1. Team member selection (due Wednesday, 02/08, 11:59PM Eastern): We'll make a 'search for teammates' post on piazza, giving folks who don't know other folks in the class a space that may help them reach out to like-minded folks. Please let us know who is part of your group by 11:59 on 2/08 by filling out this survey. Your group as a whole will submit your project preferences on the survey. We will assign projects to groups on 2/10 keeping in mind groups' preferences as much as possible. We can't guarantee we can assign your group to your top-choice project, but we will do our best.
  2. Project startup document (due Friday, 02/24 on Canvas, 11:59 PM, Eastern): Expanding on the descriptions on this page or your own project idea, write up a startup document using the following format. Please also include a list of the first three things you will do to get started on the project (e.g., download Jaeger and collect traces from a sample application). Please submit your startup document on canvas.
  3. Status updates (In class, varying dates): You will give 10 min presentations during the course of the semester to update the class on the progress you have made on your project. Please focus on 1) What you have done since the last update; 2) What you plan to finish before your next update (e.g., in the next 2-3 weeks); 3) Key items that your are concerned about or are blocking your progress.
  4. Midterm project writeup (due Friday, 03/31 on Canvas, 11:59PM, Eastern): Your team will prepare a 3-4 page report about the current status of your project. It should include at least three sections. 1) Introduction: what is it that you are trying to do? 2) Progress: What have you done so far? 3) Outcomes: What do you expect to be able to finish and demonstrate by th end of the semester?
  5. Final project presentations (Last few lectures between 04/21 and 05/01, in class): Your team must prepare a 30-min presentation describing your work and the outcomes you achieved. We encourage including a demo in your presentation if you think that will help demonstrates the outcomes or progress you achieved.
  6. Final project writeup (due Wednesday, 05/10 on Canvas, 11:59PM, Eastern): Your team will submit will a ~8-page research conference-style paper on your projects similar to those we have been reading in class. For guidance on how to write such papers, please see the following Levin 83 and Heiser18. You paper must include a section stating the outcomes you stated you would accomplish in your midterm section and a section describing the outcomes you actually achieved. Please format your paper in two-column format. If you are using LaTeX, this is a good style file to use.

Resources

The following options are available if you need extra compute resources for your project (other than your own personal computers).

  1. You may apply to the MOC, which will provide VMs for you to use. Please list Raja as your MOC contact. Note that it may take a few days for our application to be approved. This option may be especially suited to the engineering projects we have listed in the course description.
  2. You may apply for an account at Cloudlab. Note that your project must satisfy the requirements stated at: here.
  3. You can talk to the instructors to see if we have credits available for you to use AWS.