CS6220 Topics in Networks
Graduate course, IIT-Hyderabad, 2021
Instructor: Praveen Tammana
Class hours:
- Tuesday 4-5:30 pm
- Friday 2:30-4 pm
TA:
- Archit Sanghi: cs19mtech11003@iith.ac.in
Prerequisites:
- UG: Comp. Networks-II (CS3543)
- PG: Advanced Comp. Networks (CS5060), Softwared-Defined Networks (CS5643)
Texbooks:
- There are no official textbooks for this course. The material will be provided alongside each lecture.
- However, you may find the textbooks below useful to understand the papers and lectures:
- Computer Networking: Principles, protocols, and practice by Olivier Bonaventure, is openly and freely available, including the beta version of the third edition.
- SDN: A Systems Approach: Version 1 by Peterson, Cascone, Davie, O’Connor, and Vachuska
- Computer Networking: A Top-Down Approach, 6th edition, by James F. Kurose and Keith W. Ross.
- Computer Networks: A Systems Approach, 6th edition, by Larry Peterson and Bruce Davie.
- TCP/IP Illustrated, Volume 1: The Protocols by W. Richard Stevens.
Format:
- This course will include reading papers, writing paper reviews, paper presentations by students, online and offline discussions, and a research project.
- Each week you will read two papers and write review for one paper of your choice. Reviews have to be submitted one day before Tuesday’s class, that is, every Monday by 11:59pm (with exceptions in those weeks with project deadline).
- Except few, almost in all classes we will form two groups (for and against) and discuss the strengths, weaknesses, areas to improve, and ways to build atop each papers.
- Every student has to present one paper of their choice during the semester. The instructor will announce the dates and number of students per week after the class size is confirmed.
- Research projects are semester-long programming projects. They can be done in teams of size two or individually. For team-based projects, students will be assessed individually based on their role in the project.
- Project proposal will be finalized after reviewed by the instructor. It may involve one or more back-and-forth between instructor and team.
- Project ideas can be discussed during the class hours or by appointment.
- Projects can be an open-ended research project (novel research), a reproduction of empirical results from a paper you have read (Reproducing research), or reimplemention of a system on a new platform (Reproducing research), or anything substantial that is with in the scope of the course material.
- Each team should prepare a 6-page report at the end of the semester. Instructions on the report structure is given below.
- Every student will give a final presentation at the end of the semester on the project they have worked on during the semester. How to give a great research talk.
Paper reviews
- The reviews need not be long, but they need to answer the following questions:
- What is the problem that the paper addresses?
- Is this an important problem? Why?
- How does the paper solve the problem? What are its key contributions?
- What are strengths and weaknesses of the paper? (Name at least two of each)
- What are possible next steps?
- Grades are assigned based on the clarity, arguments you make, and constructive technical discussions.
- You may find the notes below useful:
Project Proposal: Reproducing Research
- Background
- Name of paper
- Brief summary of paper’s problem domain / challenge, goals, and technical approach
- Summary of paper’s current implementation, evaluation strategy, and key results
- Plan:
- Proposed implementation (language, framework, etc.)
- Evaluation strategy (testing platform/setup, simulated data/traces, etc.)
- Key results trying to reproduce
- Discussion of how you can compare your findings (quantitatively, qualitatively) with previously published results
- New questions/settings trying to evaluate that are not addressed in the original paper
Project Proposal: Novel Research
- Background
- What problem is research attempting to solve?
- Why is the problem important?
- How does this relate directly to topics or papers covered in class
- Novelty
- What is the current state-of-the-art in related work, and why are they insufficient?
- What is your (novel) technical insight/approach to solving this problem
- Plan
- Proposed implementation (language, framework, etc.)
- Key questions that evaluation will address
- Evaluation strategy (testing platform/setup, simulated data/traces, etc.)
- What does “success” look like? How do you quantify/compare results to alternative approaches / related work?
Timeline
- Team formation (Feb 5)
- Project proposal (Feb 16)
- Mid-term project review (Mar 26)
- Final project report (Apr 30)
- Final project presentations (May 4 and May 7)
Assessments:
- Paper reviews (30%)
- Paper presentation (10%)
- Class participation (10%)
- Research project report and presentation (50%)
Acknowledgments
This course material is gathered from Jennifer Rexford, Rachit Agarwal, Anirudh Sivaraman, Srinivas Narayan, and Ang Chen. Many thanks!
Tentative schedule
Week | Topics | Readings | Recommended readings & Remarks |
---|---|---|---|
Jan 18-22 | Internet architecture and design principles | ||
Jan 25-29 | Datacenter Network Requirements | ||
Feb 1-5 | Congestion control | ||
Feb 8-12 | Software-defined Networks | ||
Feb 15-19 | DC failures, traffic engineering | ||
Feb 22-26 | Router design | ||
Mar 1-5 | SDN-based WAN, peering, and traffic engineering | ||
Mar 8-12 | Routing in enterprise networks | ||
Mar 15-19 | Programmable Networks | ||
Mar 22-25 | Network monitoring and debugging | ||
Mar 26-29 | Buffer time | - | Mid-term project review on Mar 26 |
Apr 30-2 | Application load balancing | ||
Apr 5-9 | Network functions and Programmable switches | ||
Apr 5-9 | Fast control loop decisions | ||
Apr 12-16 | Prog. networks for security and security for Prog. networks | ||
Apr 19-23 | Network verification | ||
Apr 26-30 | Network disaggregation, Smart NICs, Access-edge network |
| |
May 03-07 | Buffer week | - | May 4/7 - Project presentations |
May 11 | Grade submission deadline | - | - |