Research Project

This is a semester-long, open-ended network/system research project. Project topics are of your choice but should be related to data center networking and cloud computing and approved by instructor. Projects can be done in groups of up to 4 students and may include a systems building component.

Project Deliverables and Deadlines (all due at 11:59pm of the due date)

  • Project group -- Feb 18: Form project groups, each group should name a project leader
  • Proposal -- Mar 4: 2 pages describing the purpose of the project, work to be done and potential load distribution, expected outcome/results, etc. Make sure to describe the context and related work for the proposed project.
  • Midterm presentation -- Mar 25: Presentation of your project in progress to the class (20 minutes each group).
  • Project Presentation -- May 13: The final project presentation should have the following content: 1) briefly state the goal of the project; 2) present the algorithms and results; 3) any remaining work to be finished by the final project report; 4) work division among the group.  The presentation is expected to be 30 minute each, including Q&A.
  • Final Report -- TBA: The final report is a workshop-level paper describing your work, evaluation, related research, potential avenues to explore, etc. You should incorporate the comments received during the presentation.

Paper writing

  • Papers must be written in LaTeX. Papers must be no longer than 6 pages, EXCLUDING references. Text should be formatted in two columns on 8.5-inch by 11-inch paper using 10 point fonts on 12 point (single-spaced) leading, and 1-inch margins. You should strongly consider using some type of version control software (e.g., Subversion or Git) for your project and the paper you write describing it.

Evaluation

If you need access for up to 10 servers, please contact us. For larger-scale tests, you should try out one of the following testbeds:
  • Emulab: is a network emulation environment at the University of Utah. It provides racks of machines and programmable switches that can be configured to form mostly-arbitrary network topologies, with controllable delay and loss between nodes. It's a great way to test real programs in repeatable conditions or at scales that you can't get on your own.

  • PlanetLab: is a large-scale, distributed collection of machines that can be used for experiments and measurements, managed by a group based here at Princeton. It has around 600 nodes scattered over about 350 sites. The machines run something linux-ish that you can login to and run programs, and there exist a variety of utilities for automatically distributing software to the nodes, running programs, and so on. You must sign up to use a PlanetLab account.

Polices

  • Late policy:We do not accept late submissions.