/course-adv-net

Advanced Computer Networks @ Johns Hopkins University

Primary LanguagePython

EN.601.714: Advanced Computer Networks

Logistics

  • Instructor: Xin Jin
  • Teaching assistants: Hang Zhu
  • Lecture time: Tuesday and Thursday, 1:30-2:45pm
  • Location: Hodson 316
  • Office hours: Tuesday 2:45-3:45pm, Malone 233
  • Credits: 3 credits
  • Area for MSE and PhD requirements: Systems
  • Homework submission: Gradescope, join the course with entry code 9J4JNJ

Course Description

This is a graduate-level course on computer networks. It provides a comprehensive overview on advanced topics in network protocols and networked systems. The course will cover both classic papers on Internet protocols and recent research results. It will examine a wide range of topics, e.g., routing, congestion control, network architectures, datacenter networks, network virtualization, software-defined networking, and programmable networks, with an emphasis on core networking concepts and principles. The course will include lectures, paper discussions, programming assignments and a research project.

Prerequisites

One undergraduate course in computer networks (e.g., EN.601.414/614 Computer Networks or the equivalent), or permission of the instructor. The course assignments and projects assume students to be comfortable with programming.

Announcements

  • Tuesday, September 3: First day of class.

Course Syllabus

Date Topics Readings Notes
Classics
Tue 09/03 Course Overview How to Read, You and Your Research
Thu 09/05 End Host Packet Switching, E2E Argument
Tue 09/10 Control Plane Design Philosophy, E2E Routing Behavior
Thu 09/12 Data Plane Click, P4 50Gbps Router, RMT
Tue 09/17 Overlay Networks Chord, CAN Pastry, Tapestry
Thu 09/19 Golden Age of Programmable Hardware
Datacenter Networking
Tue 09/24 Datacenter Architectures VL2, Jupiter Rising PortLand
Thu 09/26 Optical Datacenters Helios, ProjecToR FireFly
Tue 10/01 Congestion Control 1 DCTCP, pFabric PDQ
Thu 10/03 No Class
Tue 10/08 Congestion Control 2 NDP, HPCC
Thu 10/10 Resource Disaggregation InfiniSwap, LegoOS
Software-Defined Networking
Tue 10/15 Control Plane Ethane, Onix FlowVisor
Thu 10/17 No Class
Tue 10/22 Wide Area Networks B4, Owan SWAN
Programmable Networks
Thu 10/24 Caching SwitchKV, NetCache
Tue 10/29 Consensus NOPaxos, Eris
Thu 10/31 Coordination and Measurement NetChain, Sonata
Networking Meets AI
Tue 11/05 AI for networking 1 NeuroCuts, Pensieve
Thu 11/07 AI for networking 2 Aurora, Decima
Tue 11/12 Networking for AI 1 TBD
Thu 11/14 Networking for AI 2 TBD
Middleboxes
Tue 11/19 Frameworks E2, NetBricks SIMPLE
Thu 11/21 Load Balancers Ananta, SilkRoad Duet
Tue 11/26 Thanksgiving Vacation Gobble, gobble!
Thu 11/28 Thanksgiving Vacation Gobble, gobble!
Project Presentations
Tue 12/03 Project presentations 1
Thu 12/05 Project presentations 2 Project Report due Mon 12/11

Paper Reviews and Presentations

  • Each student reviews 1 paper/class; submit reviews before the class
  • Each student presents 2 papers

How to write reviews

  • 4 sections in review
    • Summary
    • Paper strengths
    • Paper weaknesses
    • Detailed comments
  • Summary (points in sentence or bullet form)
    • 1-2 points: What problem?
    • 1-2 points: Core novel ideas or technical contributions
    • 3-5 points: Summarize approach, mechanisms, findings
  • Strengths/Weaknesses: 2-4 points each
  • Detailed comments
    • Longer exposition. Be constructive. Imagine conversation w/ authors: What would you tell them?
    • May include
      • Problem: What is it? Is it new? Is it real? Is it important?
      • Solution: What is the technique(s)? Is it novel? How is it compared to past solutions? What is the intuition(s)?
      • Implementation/evaluation: Does it have a real system prototype? Is the evaluation dataset(s) representative? Does the evaluation cover all aspects?
      • Looking forward: Can you come up with a new/different/better solution? Can you find a new/related problem to solve?

Programming Assignments

Course Project

  • Final project
    • Topic: reproduce a paper discussed in class, or novel research with a system-building component
    • Can work alone, or in groups of two students
    • Must involve writing some software
  • Can overlap with other projects, with permission
    • Undergraduate research projects
    • PhD qualifying research projects
  • Deliverables
    • Two-page short proposal: Oct 20
    • Project presentation: Dec 5 (last class)
    • Six-page final report: Dec 9

Policies

Academic Integrity Policy

This course strictly enforces the university and department policies on academic integrity. The details can be found on the department website.

Late Policy

25% off for each 24 hours late, rounded up

Grading

  • Class participation: 20%
  • Paper reviews: 20%
  • Programming assignments: 20%
  • Project report and presentation: 40%