- Language: English
- Type: Practical training
- Module: IN0014, IN2107, IN4454
- SWS: 2
- ECTS Credits: 5
- Prerequisites: As such we don’t have any compulsory pre-requisites, but we prefer students to be proficient in the basic concepts of operating systems, distributed systems, systems programming (C/C++/Rust), or equivalent background. Please check with the instructor, if you think your background is insufficient.
- Additional preferred pre-requisites, but NOT compulsory courses at TUM:
- IN2259: Distributed Systems
- IN2258: Middleware and Distributed Systems
- Praktikum: Systems Programming in C++
- Praktikum: Advanced Systems Programming in C/Rust
- TUM Online: For registration you have to be identified in TUMonline as a student.
- Note: Compulsory enrollment after two weeks of the matching outcome; students who fail to de-register in this period will be registered for the exam.
- Course Material:
- The list of papers for the course will be shared in the first course meeting. Based on the list, the students can indicate their choice.
This course will introduce the advanced topics in modern data centers and cloud computing systems. The course focuses on the software systems aspect of the modern data center systems, which underpin the underlying computing infrastructure for almost all modern data-driven intelligent applications.
The students will learn about system designs and emerging trends in real-world data centers, comprising 100s of thousands of machines as operated by Amazon AWS, Google Cloud, Microsoft Azure, and Facebook. The topics covered in this course include modern cloud concepts like serverless, data center networking, big-data and data-processing systems, data center storage systems, data center hardware, storage systems, security and reliability, operating systems, virtualization and container, AI software, and hardware systems in data centers, etc.
The students will be able to build on their knowledge in the core courses and apply the fundamental course concepts in the recent advances in the broad field of computer systems, which mainly covers areas such as distributed systems, operating systems, or storage systems, but also interfaces to related areas like security, programming languages, networking, computer architecture, software reliability, and database systems.
The students will read, discuss, and analyze recent papers in the top conferences of this field, particularly NSDI, EuroSys, OSDI, SIGCOMM, FAST, and SOSP. Students are expected to read papers in-depth prior to class and take turns in preparing and delivering high-quality presentations of papers. Furthermore, the students will actively participate in the discussion to critically analyze the system, and advance the state-of-the-art. More concretely, the students will learn:
- Advance scientific topics in computer systems
- Scientific report preparation
- Presentation and discussion of scientific results
- Peer-review of the scientific reports
Teaching and Learning Methods
We will assign papers for discussion and research study. The students will work in a team of two students. More specifically, the course will be organized in three stages.
- Papers presentation phase: In this phase, the students will present the research papers assigned to them. They should clearly understand and explain the context of the work, contributions, and potential future work. The discussion should attempt to address the following questions:
- Context for the work: What are the goals of the work, i.e., what problem is the paper trying to solve? Why is the problem important or interesting? What is the state-of-the-art (i.e., related work) in this area? What is hard about the problem?
- Contributions of the work: What is the proposed solution? What are the key insights? Why is this the appropriate solution for this problem? What is technically interesting or novel about the solution? How thorough is the evaluation? Is the paper well written?
- Potential for future work: Can you improve on the proposed solution? What other problems in the area would be interesting and / or hard to solve? Can the techniques behind the proposed solution be used to solve other interesting problems?
- Research presentation phase: In the second phase, the student will work on the identified research problem statement. Therefore, the student will give another presentation on their research project. The research presentation should clearly motivate the research problem and how we plan to solve it. The students should clearly explain the research methodology to solve the problem.
- Reports and peer-review: As the last phase, the students are expected to submit a report summarizing the presented papers and the research proposal. Further, we will be using the state-of-the-art reviewing system (hotcrp) for peer-review of the reports. In the peer-review process, the students are expected to give feedback covering the positive and critical aspects.