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


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: 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
HW2 out

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
HW3 out

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%