Datacenter Computing
CS499 • Fall 2022 • University of Cyprus
Modern data centers drive the online services we use every day, from search engines and social media to e-commerce, video platforms, and cloud computing. The course will conduct a vertical study of data center architecture, covering all aspects from the underlying hardware to systems-level software and application frameworks. Additionally, the course will examine overarching 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 data center technologies and reinforce the basic concepts covered in the lectures.
Lectures: Tuesday and Friday, 1:30 pm - 3:00 pm, Room FST 01 202
Recitations: , 6:00 pm - 7:00 pm, FST 01 146
Labs: Tuesday, 3:00 pm - 4:30 pm, FST 01 B103
- 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: Server Hardware [ slides ] |
|||
Lab #3:
Go Language [ slides | notes ] |
||||
Fri 23/09 |
Lecture #6
:
Datacenter Basics: Power, Energy, and Cost [ slides ] |
|
HW1 out |
|
Tue 27/09 |
Lecture #7
:
Datacenter Basics: Reliability and Availability [ slides ] |
|
||
Lab #4:
Web Search [ slides | notes ] |
||||
Fri 30/09 |
Lecture #8
:
Virtualization [ slides ] |
|
||
Tue 04/10 |
Lecture #9
:
Virtualization [ slides ] |
|||
Lab #5:
Go Web Apps [ slides | notes ] |
||||
Fri 07/10 |
Lecture #10
:
Containers [ slides ] |
HW1 due 04/10 11:59pm |
||
Tue 11/10 |
Lecture #11
:
Containers [ slides ] |
|||
Lab #6:
Docker Containers [ slides | notes ] |
||||
Fri 14/10 |
Lecture #12
:
Microservices [ slides ] |
|||
Tue 18/10 |
Lecture #13
:
Midterm Exam [ slides ] |
|||
Lab #7:
Docker Containers (continued) [ slides | notes ] |
||||
Fri 21/10 |
Lecture #14
:
Microservices [ slides ] |
|||
Tue 25/10 |
Lecture #15
:
Microservices - RPC [ slides ] |
|||
Lab #8:
Microservices [ slides | notes ] |
||||
Fri 28/10 | Ohi Day - No Class | |||
Tue 01/11 | Service Day - No Class | |||
Fri 04/11 |
Lecture #16
:
Container Orchestration [ slides ] |
|||
Tue 08/11 |
Lecture #17
:
Serverless Computing [ slides ] |
|
HW2 due 25/10 11:59pm |
|
Lab #9:
Kubernetes [ slides | notes ] |
||||
Fri 11/11 |
Lecture #18
:
Datacenter Storage [ slides ] |
|
||
Tue 15/11 |
Lecture #19
:
Datacenter Storage [ slides ] |
HW3 due 15/11 11:59pm |
||
Lab #10:
Datacenter Storage [ slides | notes ] |
||||
Fri 18/11 |
Lecture #20
:
Datacenter Storage [ slides ] |
|||
Tue 22/11 |
Lecture #21
:
Memcached [ slides ] |
|||
Lab #11:
Datacenter Storage [ slides | notes ] |
||||
Fri 25/11 |
Lecture #22
:
Flash Storage [ slides ] |
|
||
Tue 29/11 |
Lecture #23
:
Security and Privacy [ slides ] |
|||
Fri 02/12 |
Lecture #24
:
Potpourri, Wrap Up [ slides ] |
About
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 data center design 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 CS221 (Computer Organization) and undergraduate course equivalent to CS222 (Operating Systems).
Labs
Through lab exercises, students get practical experience with modern data center 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%