Datacenter Computing

CS499 • Fall 2022 • University of Cyprus

Warehouse-scale datacenters power the online services many people use every day, including web search, social networking, online shopping, video streaming, and cloud computing. The course will conduct a vertical study of modern datacenters covering the entire system stack from hardware architecture to systems software to application programming frameworks. The course will also examine cross-cutting concerns such as total cost of ownership, service level objectives, energy efficiency, reliability and availability, and privacy and security. Through lab exercises, students get practical experience with modern datacenter technologies and reinforce the basic concepts covered in the lectures.


Lectures: Tuesday, Friday 1:30 pm - 3:00 pm, Room FST 01 202
Recitations: Tuesday 6:00 pm - 7:00 pm, Room FST 01 146
Labs: Tuesday 3:00 - 4:30 pm, Room FST 01 B103


Instructor: Haris Volos
  • Email: hvolos01@ucy.ac.cy
  • Office hours: Tuesday, Friday 12:30 - 1:30 pm or by appointment, FST 01 115

schedule

Date Lecture Readings Logistics
Tue 06/09 Lecture #1 :
Introduction
[ slides ]

Lab #1:
CloudLab
[ slides | notes ]

Fri 09/09 Lecture #2 :
Datacenter Workloads
[ slides ]

Tue 13/09 Lecture #3 :
Datacenter Programming: Go Language
[ slides ]

Lab #2:
Essential Tools
[ slides | notes ]

Fri 16/09 Lecture #4 :
Datacenter Basics: Server Hardware
[ slides ]

Tue 20/09 Lecture #5 :
Datacenter Basics: Power, Energy, and Cost
[ slides ]

HW1 out

Lab #3:
Go Language
[ slides | notes ]

Fri 23/09 Lecture #6 :
Datacenter Basics: Reliability and Availability
[ slides ]

Tue 27/09 Lecture #7 :
Virtualization
[ slides ]

Lab #4:
Web Search
[ slides | notes ]

Fri 30/09 Lecture #8 :
Virtualization
[ slides ]

Tue 04/10 Lecture #9 :
Containers
[ slides ]

HW1 due 04/10 11:59pm
HW2 out

Lab #5:
Go Web Apps
[ slides | notes ]

Fri 07/10 Lecture #10 :
Containers
[ slides ]

Tue 11/10 Lecture #11 :
Microservices
[ slides ]

Lab #6:
Docker Containers
[ slides | notes ]

Fri 14/10 Lecture #12 :
Microservices
[ slides ]

Tue 18/10 Lecture #13 :
Container Orchestration
[ slides ]

Lab #7:
Docker Containers (continued)
[ slides | notes ]

Fri 21/10 Lecture #14 :
Serverless Computing
[ slides ]

Tue 25/10 Buffer

HW2 due 25/10 11:59pm
HW3 out

Lab #8:
Microservices
[ slides | notes ]

Fri 28/10 Ohi Day - No Class

Tue 01/11 Service Day - No Class

Fri 04/11 Lecture #15 :
Datacenter Storage
[ slides ]

Tue 08/11 Lecture #16 :
Datacenter Storage
[ slides ]

Lab #9:
Kubernetes
[ slides | notes ]

Fri 11/11 Lecture #17 :
Datacenter Networking
[ slides ]

Tue 15/11 Lecture #18 :
Performance Engineering
[ slides ]

HW3 due 15/11 11:59pm

Lab #10:
Datacenter Storage
[ slides | notes ]

Fri 18/11 Lecture #19 :
Performance Engineering
[ slides ]

Tue 22/11 Lecture #20 :
Resource Disaggregation
[ slides ]

Lab #11:
Performance Engineering
[ slides ]

Fri 25/11 Lecture #21 :
Machine Learning
[ slides ]

Tue 29/11 Lecture #22 :
Security and Privacy
[ slides ]

Lab #12:
Performance Engineering
[ slides ]

Fri 02/12 Lecture #23 :
Potpourri, Wrap Up
[ slides ]

about

You can find more information in the course contract (in greek).

objectives

The objective of the course is to study the key principles or/and concepts that underlie a modern data center. The course will conduct a vertical study of datacenter technology covering the entire system stack, including hardware architectures, systems software, and application programming frameworks. The course will also explore cross-cutting concerns such as total cost of ownership, service level objectives, reliability and availability, energy efficiency, and privacy and security.

content

Topics include server design, heterogeneous hardware and accelerators, total-cost of ownership (TCO) analysis, performance analysis, data-center storage, data-center networking, cloud computing, virtualization and containers, resource management, microservices, serverless computing, side channels, trusted execution.

target audience

The course is aimed at senior undergraduate students and early-stage postgraduate students of computer science. The language of instruction is greek but most of the educational material (book, slides, web pages) will be in english.

prerequisites

The consent of the instructor. Basic understanding of systems and architecture concepts through undergraduate course equivalent to the CS221 (Computer Organization) and undergraduate course equivalent to the CS222 (Operating Systems).

labs

Through lab exercises, students get practical experience with modern datacenter technologies and reinforce the basic concepts covered in the lectures.

homework assignments

Homeworks are assignments that are designed to help students develop an in-depth understanding of both the theoretical and practical aspects of ideas presented in lecture.

bibliography

  • Luiz André Barroso, Urs Hölzle, and Parthasarathy Ranganatha. The Datacenter as a Computer: Designing Warehouse-Scale Machines. Third Edition Morgan & Claypool (2019).

grading

The evaluation will be based on homework assignments and exams. The grading rubric will be as follows:

  • Assignments: 40%
  • Midterm exam: 15%
  • Final exam: 45%