Lecture: Advanced Networked Systems
Basic Information
- Lecturer: Prof. Dr. Lin Wang
- Semester: SS
- Level: Master
- Credits: 6 ECTS
Content
This lecture-based course will cover concepts and designs for modern networked systems adopted by the Internet and cloud data centers to meet the ever-increasing demands of data transfer and computation driven by big data and machine learning applications. Specific topics include:
- Networking fundamentals (refresher)
- Data center networks (architectures, congestion control)
- Software-defined networks (SDN, OpenFlow)
- Programmable networks (P4, eBPF/XDP)
- Programmable network device architectures (RMT, SmartNICs)
- In-network computing (caching, aggregation)
- Machine learning systems (model training, systems for LLMs)
Much of the course will be based on discussions of cutting-edge research topics, complemented with hands-on programming assignments.
Learning Goals
Upon completion of this course, students will be able to learn the following.
- Gain knowledge of current research topics in networked systems.
- Understand the design of these new networked systems technologies and reason about the design choices therein.
- Build complex networked systems by applying some of these designs, analyze and evaluate the merits and limitations of these designs, and explain the design choices for the built systems.
Assessment
Assessment will consist of two parts:
- Study achievement: You will pass the study achievement if you obtain no less than 25 out of the 50 points for the lab assignments. Bonus grades will be awarded if you score high for these lab assignments: 1 bonus step on the final grade if you score no less than 40; 2 steps if no less than 45.
- Written exam: You will pass the course if you obtain no less than half of the points for the final written exam. There will be non-graded exercises to help you prepare for the exam throughout the course.
Textbooks
There is no set textbook for this course. We will mostly use research papers as reading material, which will be published along with the lectures.
Prerequisites
Knowledge of computer networks, operating systems, programming languages, C/C++ and Python programming in the Linux environment, and a keen interest in understanding how things work under the hood. Ability to read scientific papers professionally. Ability to code in a complex setting.