1. A course project can be completed by an individual student or a team of two students. I will count your grade by x1.1 if you choose to finish it by your own.
2. You (or your team) may choose one of the recommended projects, or a project proposed by yourself related to computer networking. You may submit it a proposal of your own project by 10.24. The proposal will not be graded, but will be returned with feedback. You can always change your mind of the chosen project at anytime during the quarter. Of course, you do not want to change it at the last few weeks.
Recommended projects.
Note as a graduate course, the instructor and TAs are not responsible for introducing the existing material in the online tutorial of Mininet or program debugging. Please start your project as early as possible and get familiar with NS3/Mininet.
Recommended Project A. Implementing a distributed hash table following the protocol introduced in the following paper:
[1] I. Stoica, et al., Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications, ACM SIGCOMM, 2001.
Your project will receive 20% bonus if you can also implement the topology and algorithms of SpaceShuffle (introduced in the lecture) using the same framework.
B. Implementing a FatTree topology and corresponding routing protocols introduced in the following paper and the SDN lecture notes:
[2] M. Al-Fares, et al., A Scalable, Commodity Data Center Network Architecture, ACM SIGCOMM, 2008.
using the simulator Mininet (http://mininet.org/)
The tutorial of Mininet can be found online (https://github.com/mininet/mininet/wiki/Documentation)
Your project will receive 20% bonus if you can provide other routing algorithms (such as flow classifier and flow scheduling) that achieves >1.5x throughput compared to Dijkstra with ECMP.