/course-adv-net

Advanced Computer Networks @ Johns Hopkins University

Primary LanguagePython

EN.601.714: Advanced Computer Networks

Logistics

  • Instructor: Xin Jin
  • Teaching assistants: Kaiyue (Karin) Wu
  • Lecture time: Tuesday and Thursday, 1:30-2:45pm
  • Location: Malone 228
  • Office hours: Tuesday 2:45-4pm, Malone 207/233
  • Credits: 3 credits
  • Area for MSE and PhD requirements: Systems
  • Homework submission: Gradescope, join the course with entry code MZRZK4

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 Network Fundamentals or the equivalent), or permission of the instructor. The course assignments and projects assume students to be comfortable with programming.

Announcements

  • Monday, September 4: Sign up for paper presentations here before September 7
  • Sunday, November 12: Sign up for project presentations here before November 16

Course Syllabus

Date Topics Readings Notes
Classics
Tue 09/05 Course Overview How to Read, You and Your Research
Thu 09/07 End Host Packet Switching, E2E Argument
Tue 09/12 Control Plane Design Philosophy, E2E Routing Behavior
Thu 09/14 Data Plane Click, P4 50Gbps Router, RMT; Class moved to Malone 107
Tue 09/19 No class, but work on assignment 1 and forming groups Assignment 1 due Mon 09/25
Thu 09/21 Overlay Networks Chord, CAN Pastry, Tapestry
Datacenter Networking
Tue 09/26 Datacenter Architectures VL2, Jupiter Rising PortLand
Thu 09/28 Optical Datacenters Helios, ProjecToR FireFly
Tue 10/03 Resource Allocation DRF, Carbyne Varys
Thu 10/05 Congestion Control DCTCP, pFabric PDQ
RDMA
Tue 10/10 RDMA 1 DCQCN, RoCEv2
Thu 10/12 RDMA 2 Design Guidelines, Infiniswap
Software-Defined Networking
Tue 10/17 SDN Control Plane Ethane, Onix FlowVisor
Thu 10/19 Wide Area Networks B4, Owan SWAN
Tue 10/24 Traffic Engineering BwE, FFC Footprint; Project Proposal due Mon 10/23
Network Verification
Thu 10/26 No class, but work on assignment 2 Assignment 2 due Mon 11/06
Tue 10/31 Data Plane Verification HSA, Delta-net NetPlumber, VeriFlow, Mutable
Thu 11/02 Control Plane Verification BatFish, Minesweeper Propane
Network Measurement
Tue 11/07 Network Telemetry EverFlow, Pingmesh NetSight
Thu 11/09 Sketch UnivMon, SketchVisor OpenSketch
Middleboxes
Tue 11/14 Frameworks E2, NetBricks SIMPLE
Thu 11/16 Load Balancers Ananta, SilkRoad Duet
Tue 11/21 Thanksgiving Vacation Gobble, gobble!
Thu 11/23 Thanksgiving Vacation Gobble, gobble!
Networking Meets Big Data
Tue 11/28 Distributed Storage IOFlow, NetCache SwitchKV
Thu 11/30 Wide Area Analytics JetStream, Clarinet Iridium
Project Presentations
Tue 12/5 Project presentations 1
Thu 12/7 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; sign up here

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: Novel research with a system-building component
    • Open-ended research problem: Come up with your own, or talk to me
    • Can work alone or in small teams, i.e., 1-5 people
    • 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 23
    • Project presentation: Dec 7 (last class)
    • Six-page final report: Dec 11

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%