Lecture (Section 093): Tue, Thu, 4:30–5:45pm in BHEE 226

 Lecture (Section 094, EP7): Asynchronous Online

Instructor

Vishal Shrivastav
Assistant Professor

Office: BHEE 334B
vshriva@purdue.edu

Office Hours
By Appointment via email

The modern datacenter and the cloud has emerged as the dominant computing platform that powers most of world's consumer online services, financial, military, and scientific application domains. The goal of this course is to introduce students to the design, implementation, and management of modern datacenter and cloud networks. Lectures will cover a wide-range of topics, including datacenter architecture and topology, datacenter routing and load balancing, datacenter transport, software-defined networking, programmable data plane, in-network computing, multi-tenancy in the cloud, RDMA, resource disaggregation, and optical switching inside datacenters.

All course materials and grades will be posted on Brightspace. We will use Piazza as the discussion forum to post and discuss questions regarding the course.

This course has three sections — 093 (in-person lecture), and 094, EP7 (asynchronous online). All in-person lectures will be live-recorded in class and the videos will be made available on Brightspace to the online sections. All sections will be managed similarly in terms of assignments, exams, and grading.

1. Datacenter Architecture and Topology
2. Datacenter Routing and Load Balancing
3. Datacenter Transport
4. Software-defined Networking
5. Programmable Data Plane
6. In-Network Computing
7. Multi-tenancy in the Cloud
8. Datacenter Network for RDMA
9. Resource Disaggregation inside Datacenter
10. Optics inside Datacenter

Proficiency in a software programming language (e.g., Python) or a hardware programming language (e.g., Verilog). A prior undergraduate course in computer networking will be useful but not essential. The first few weeks of the course will cover all the necessary background needed for this class.

60% — Term Project
Each student will work on a semester-long project. Students will have a choice to choose between a research track project or an implementation track project.

Research Track (recommended for Ph.D. students):

For research track project, students may work in groups of at most 2 students. Students can either propose their own project or talk to the instructor for project ideas. Any project with significant networking component will be acceptable. The final deliverable will include a 10–12 page technical report. The overall grading will be broken into three milestones:
  • Milestone 1: Problem, Motivation, and Related Work – 20%
  • Milestone 2: Design and Evaluation Plan – 20%
  • Milestone 3: Final Technical Report – 20%
Implementation Track (recommended for master, undergrad, and online students):
For implementation track project, students must work individually with no collaboration allowed. Students will implement a full datacenter network stack on top of a bare-bones network simulator (in Python) provided to them. The overall grading will be broken into three milestones:
  • Milestone 1: Implement Datacenter Topology and Routing – 20%
  • Milestone 2: Implement Datacenter Transport – 20%
  • Milestone 3: Implement Datacenter Load Balancing – 20%

20% — Midterm Exam
Midterm exam will be closed-book with no collaboration allowed.

20% — Final Exam
Final exam will be closed-book with no collaboration allowed. The syllabus will only include topics covered after the midterm.

Students are free to collaborate with anyone or use any available material online for completing the research track project. However, unless expressly allowed, students are expected to complete the implementation track project and exams by themselves. A student is considered in violation of the academic honesty policy regardless of whether they are the one "copying" or the one "being copied from".

Academic integrity is one of the highest values that Purdue University holds. Individuals are encouraged to alert university officials to potential breaches of this value by either emailing integrity@purdue.edu or by calling 765-494-8778. While information may be submitted anonymously, the more information is submitted the greater the opportunity for the university to investigate the concern. More details are available on our course Brightspace under "University Policies and Statements".

Punishments for academic dishonesty are severe, including receiving a failing grade in the course or being expelled from the university. By departmental rules, all instances of cheating will be reported to the Dean of Students. On the first instance of cheating, students involved will receive a 0 on the assignment; the second instance of cheating will result in a failing grade in the course.

Use of Copyrighted Materials. All course materials, including lecture slides, project, examinations, and solutions are subject to Purdue's copyright policies. Students must not share, distribute, or post any material on an online web site without checking with the instructor.