Official course description, subject to change:
Basic info last published 1/10-23

Computer Systems Performance

Course info
Language:
English
ECTS points:
7.5
Course code:
KSCOSYP1KU
Participants max:
45
Offered to guest students:
yes
Offered to exchange students:
yes
Offered as a single subject:
yes
Price for EU/EEA citizens (Single Subject):
10625 DKK
Programme
Level:
MSc. Master
Programme:
MSc in Computer Science
Staff
Course manager
Associate Professor
Course semester
Semester
Forår 2024
Start
29 January 2024
End
23 August 2024
Exam
Abstract
In this course, you will learn how to evaluate the performance of a computer system.
The course combines a focus on low-level system components (hardware, operating system, etc.) with the analysis of complex data systems.
Description

In this class, students will learn how to design and conduct performance analysis experiments and how to troubleshoot existing complex data-intensive systems.

We live in a world that requires near-instant response times and increasingly faster access to very large volumes of business-critical data. Data scientists expect high-performance from their data systems in order to reduce time to insight. Software and DevOps engineers are expected to continuously improve the performance of IT systems.

In this world, delays and sub-optimal performance have a cost. This cost is not just monetary but is also about power consumption. Any system that cannot reach its full performance potential wastes both money and power.

To achieve sustainable management and growth of data-intensive systems (e.g., database management systems, big data processing systems, machine learning systems), we must exploit the available computer systems resources (e.g., hardware) well and avoid sub-optimal performance.

Performance analysis of computer systems can
(1) uncover the effects of design or implementation bugs leading to such sub-optimal performance and (2) help characterize the needs and behavior of different types of systems helping us target more effective performance optimizations.
This is what we will be learning in this course.


Formal prerequisites
Students should have taken introductory courses on database systems and operating systems, or something similar. They should have some familiarity with command line interface and C/CPP.
Intended learning outcomes

After the course, the student should be able to:

  • Design and conduct performance evaluation experiments
  • Formulate hypothesis about the causes of poor performance across different layers of a data system’s stack (i.e., data management components, operating system, file system, network, hardware).
  • Select appropriate set of tools for troubleshooting performance problems.
  • Analyze the performance of a complex real-world data system.
Ordinary exam
Exam type:
D: Submission of written work with following oral, External (7-point scale)
Exam variation:
D2G: Submission for groups with following oral exam supplemented by the submission. Shared responsibility for the report.