Modern Data Center Systems

Course Information

  • Language: English
  • Type: Seminar Course
  • Module: IN0014, IN2107, IN4454
  • SWS: 2
  • ECTS Credits: 5
  • Prerequisites: Knowledge equivalent to the lectures:
    • IN2259: Distributed Systems 
    • IN2258: Middleware and Distributed Systems
    • Praktikum: Systems Programming in C++
    • Praktikum: Advanced Systems Programming in C/Rust
  • TUM Online: You must register for this course in TUM Online before the course starts
  • 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


This course will introduce the advanced topics in computer 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 (taken in their BSc program) 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.

Previous knowledge expected

  • 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


  • 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. 

  1. 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? 
    • Contributions of the work: What is the proposed solution? What are the key insights? 
    • Potential for future work: Can you improve on the proposed solution? 
  2. Research phase: In the second phase, the student will work on the identified research problem statement. The research phase should clearly motivate the research problem, and also should clearly explain the research methodology to solve the problem.
  3. Reports and peer-review:  As the last phase, the students are expected to submit a report summarizing the presented paper 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.

We recommend that the students devote roughly equal amounts of time to each of these phases. It is the responsibility of the presenters to manage the discussion and cover the various questions within this time. Finally, the fellow participants are expected to read the paper and engage the presenters in an active discussion.

Recommended reading

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.

Online information

  • Preliminary meeting:
    • Time: Feb 3, 2022 02:00 PM CET
    • Join Zoom Meeting
    • Meeting ID: 664 1507 0694
    • Passcode: 489652