CSE 222a is a graduate course on computer networks. The continued exponential growth of the Internet has made the network an important part of our everyday lives. Companies use the network to conduct business, doctors to diagnose medical issues, etc. This course will provide a broad understanding of exactly how the network infrastructure supports distributed applications. Topics covered in the course include: Internet routing, software-defined networking, datacenters, content distribution networks, and peer-to-peer systems. This is a research-oriented course focusing on current and classic papers from the research literature.
Prerequisites for the course include a general understanding of strong background in computer networks, distributed systems, and operating systems.
The course materials consist of current and historical research papers, available on campus via links in the course schedule. These papers are available free of charge for UC San Diego students accessing these links from on campus (or via the campus VPN).
Printing: If you plan to print out all of the papers this term (rather than reading them electronically), I strongly urge you to go to Imprints (in the Price Center, near Perks Coffee) or to the Imprints in the main library and have them do the printing. You may not use departmental printers in the CSE building to print out all of the papers!
During the course we'll occasionally have a pre-discussion quiz, which is a very short reading quiz that will be given at the beginning of class to ensure that you've absorbed the main ideas in the paper. These will be given unpredictably during the quarter.
Twice during the term we'll have an in-class quiz on material covered up to that point. There will also be a final exam given during the final exam period, covering all of the material covered in the course.
You must pass the final exam to pass the course
If you feel like an assignment was not graded properly, you must let the instructor know in writing within one week of the assignment being returned to you. Regrade requests raised after one week will not be considered.
You are required to attend all class meetings and are responsible for all material covered in class and any quizzes or assignments given during class, and any activities that we do during the class time. You must be present for the final exam, and so do not plan any travel that conflict with the final exam schedule.
If you cannot make class due to a professional conflict (e.g., attending a conference, going to a job interview, etc.) please let me know in advance so I can accommodate that absence.
Note that this course is reading-intensive, requiring a considerable amount of out-of-class time to absorb all of the technical content in the research literature we're going to cover.
|4/3||First day of class (no papers discussed)|
|4/7||Interdomain Internet Routing|
|4/10||End-to-end routing behavior in the Internet|
|4/12||The case for separating routing from routers|
|4/17||B4: Experience with a Globally-Deployed Software Defined WAN (part 2)|
|4/19||Active network vision and reality: lessons from a capsule-based system|
OpenFlow: enabling innovation in campus networks (if you aren't familiar with OpenFlow)
|4/21||Onix: a distributed control platform for large-scale production networks|
|4/24||The click modular router|
|4/28||P4: Programming Protocol-Independent Packet Processors|
|5/1||A scalable, commodity data center network architecture|
|5/3||PortLand: a scalable fault-tolerant layer 2 data center network fabric|
|5/5||Jupiter Rising: A Decade of Clos Topologies and Centralized Control in Google's Datacenter Network|
|5/8||Data center TCP (DCTCP)|
|5/10||Design, implementation and evaluation of congestion control for multipath TCP|
|5/12||Ananta: cloud scale load balancing|
|5/15||Ananta: cloud scale load balancing (con't)|
|5/19||EyeQ: practical network performance isolation for the multi-tenant cloud|
|5/22||Helios: a hybrid electrical/optical switch architecture for modular data centers|
|5/24||Chord: A scalable peer-to-peer lookup service for internet applications|
|5/29||University holiday (no class)|
|5/31||Polaris: faster page loads using fine-grained dependency tracking|
|6/5||MegaPipe: a new programming interface for scalable network I/O|
|6/7||BlindBox: Deep Packet Inspection over Encrypted Traffic|