Advanced Computer Architecture
CS605 • Spring 2022 • University of Cyprus
This course introduces students to advanced topics in computer architecture, with a focus on warehouse-scale computers. Warehouse-scale computers support a wide range of online services, including cloud computing, social networking, web search, video streaming, and online shopping. The first half of the course covers advanced principles of organization, operation and performance analysis of modern computer systems. The second half examines the architecture and programming of warehouse-scale computers and datacenters, covering the entire system stack from hardware through systems software to application programming frameworks, as well as cross-cutting concerns such as efficiency, reliability, privacy and security. Through lab exercises, students get practical experience with modern computer systems and reinforce the basic concepts covered in the lectures.
Lectures: Friday, 6:00 pm - 9:00 pm, FST 01 202
Recitations: , 3:00 pm - 4:30 pm, FST 01 103
Labs: Wednesday, 3:00 pm - 4:30 pm, FST 01 103
schedule
Date | Lecture | Readings | Logistics | |
---|---|---|---|---|
Wed 19/01 |
Lab #1:
Introduction to Unix commands and Bash scripting [ slides ] |
HW1 out |
||
Fri 21/01 |
Lecture #1
:
Introduction [ slides ] |
|
||
Wed 26/01 |
Lab #2:
Linux monitoring utilities [ slides ] |
HW1 due 21/1 11:59pm |
||
Fri 28/01 |
Lecture #2
:
Refresh on Computer Architecture [ slides ] |
|||
Wed 02/02 |
Lab #3:
CloudLab [ slides ] |
|
||
Fri 04/02 |
Lecture #3
:
Instruction-level parallelism [ slides ] |
|
||
Wed 09/02 |
Lab #4:
Web search [ slides ] |
HW2 due 9/2 11:59pm |
||
Fri 11/02 |
Lecture #4
:
Thread-level parallelism [ slides ] |
|
||
Fri 18/02 |
Lecture #5
:
Advanced memory hierarchy - Part 1 [ slides ] |
|
||
Wed 23/02 |
Lab #5:
Power Management [ slides ] |
|||
Fri 25/02 |
Lecture #6
:
Advanced memory hierarchy - Part 2 [ slides ] |
|
||
Wed 02/03 |
Lab #6:
Memory hierarchy benchmarking [ slides ] |
HW3 due 2/3 11:59pm |
||
Fri 04/03 |
Lecture #7
:
Datacenter storage [ slides ] |
|
||
Wed 09/03 |
Lab #7:
Persistent memory [ slides ] |
HW4 out |
||
Lecture #8
:
Virtualization [ slides ] |
||||
Wed 16/03 |
Lab #8:
Docker containers [ slides ] |
|||
Fri 18/03 |
Lecture #9
:
Serverless and Microservices [ slides ] |
|
||
Wed 23/03 |
Lab #9:
Kubernetes [ slides ] |
|||
Fri 25/03 | National Holiday - No classes | |||
Wed 30/03 |
Lecture #10
:
Performance analysis [ slides ] |
|
||
Fri 01/04 | National Holiday - No classes | |||
Wed 06/04 |
Lab #10:
Top-down microarchitecture analysis method [ slides ] |
HW4 due 6/4 11:59pm |
||
Fri 08/04 |
Lecture #11
:
Accelerators [ slides ] |
|||
Wed 13/04 |
Lab #11:
NVIDIA Tensor Cores (tentative) [ slides ] |
|||
Fri 15/04 |
Lecture #12
:
Security and privacy [ slides ] |
|
About
Objectives
Students will learn: (a) current methodology for performance evaluation and comparison of computer systems; (b) basic and advanced concepts in the organization of modern microprocessors; and (c) current trends in the computer architecture area. Also, with the use of different tools, presented in the course, students will perform research projects in certain computer architecture topics.
Content
Performance evaluation and comparison, as well as benchmarking programs; Basic microarchitecture concepts of modern processors; Pipelining, instruction-level parallelism, prediction, speculation, memory hierarchy, and static/dynamic instruction scheduling; Examples of modern processors; Current research projects in the area of computer architecture.
Target Audience
The course is aimed at early-stage postgraduate students of computer science and senior undergraduate students. The language of instruction is greek but most of the educational material (book, slides, web pages) will be in english.
Prerequisites
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 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.
paper presentations
Each student will be assigned a paper to present during the class. You should prepare a 25-30 minute presentation on the paper, using slides (Powerpoint or Keynote). In your presentation, cover each of the following:
- Problem: What is the paper trying to solve? How real is the problem?
- Key idea: What is the main idea in the solution?
- Novelty: What is different from previous work, and why? Is it a new problem, a new solution, or a new environment for an existing problem?
- Critique: Is there anything you would change in the solution? What about in the way the authors presented or evaluated the solution?
- Questions to the class: List a set of questions to start the class discussion on the paper. Questions can be things you wish the paper explained/tackled better, ideas on how you would expand on the work, or system implications the paper has in cloud computing overall.
Bibliography
-
John Hennessy and David Patterson. Computer Architecture: A Quantitative Approach. Sixth Edition Morgan & Claypool (2016)
-
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%
- Final exam: 30 %
- Paper presentations: 20%
- Class participation: 10%