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

WeekTopicsReadingsRecommended readings & Remarks
Jan 18-22Internet architecture and design principles
Jan 25-29Datacenter Network Requirements
Feb 1-5Congestion control
Feb 8-12Software-defined Networks
Feb 15-19DC failures, traffic engineering
Feb 22-26Router design
Mar 1-5SDN-based WAN, peering, and traffic engineering
Mar 8-12Routing in enterprise networks
Mar 15-19Programmable Networks
Mar 22-25Network monitoring and debugging
Mar 26-29 Buffer time - Mid-term project review on Mar 26
Apr 30-2Application load balancing
Apr 5-9Network functions and Programmable switches
Apr 5-9Fast control loop decisions
Apr 12-16Prog. networks for security and security for Prog. networks
Apr 19-23Network verification
Apr 26-30Network disaggregation, Smart NICs, Access-edge network
May 03-07 Buffer week - May 4/7 - Project presentations
May 11 Grade submission deadline - -