Architecture and performance of computer systems

linfo2241  2022-2023  Louvain-la-Neuve

Architecture and performance of computer systems
6.00 credits
30.0 h + 30.0 h
Q1
Teacher(s)
Barbette Tom;
Language
Main themes
  • Organization of operating systems
  • Management of devices by the operating system
  • Management of storage devices by the operating system
  • Filesystems
  • Virtualization
  • Evaluation and improvement of performance of computer systems
Learning outcomes

At the end of this learning unit, the student is able to :

1
Given the learning outcomes of the "Master in Computer Science and Engineering" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
  • INFO1.1-3
  • INFO2.4-5
  • INFO5.2-5
  • INFO6.1, INFO6.3
Given the learning outcomes of the "Master [120] in Computer Science" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
  • SINF1.1-3
  • SINF2.4-5
  • SINF5.2-5
  • SINF6.1, SINF6.3
Given the learning outcomes of the "Master [60] in Computer Science" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
  • 1SINF1.M1 1SINF1.M2
  • 1SINF2.4-5
  • 1SINF5.2-5
  • 1SINF6.1, 1SINF6.3
Students completing this course successfully will be able to
  • compare different implementations for operating systems and highlight the advantages and disadvantages of these achievements
  • explain the interactions between the operating system and the hardware (storage, network, virtualization)
  • evaluate the performance of a computer system
  • identify factors that limit the performance of a computer system
 
Content
The course will teach students the evaluation of the performance of a computer system by making measurements, setting up simulations and/or mathematically modeling a system. To this end, students will learn and put into practice the following techniques:
  • general concepts on performance measurement
  • performance metrics
  • characterization of workloads
  • data visualization and summarization
  • monitors and profiling of software and operating system
  • an introduction to queuing theory
  • ...
The course will deepen the knowledge on the architecture of computer systems developed in the previous courses to understand the observations made with the aforementioned techniques and write more efficient programs:
  • CPU operation
  • caches and virtual memory
  • the parallelism of instructions and data
  • operation of peripherals and drivers
  • file systems and storage devices
  • virtualization
  • ...
Teaching methods
The course consists of a series of lectures and accompagning exercises and a project in multiple phases. The teaching method can change depending on the circumstances and the number of participating students or for other reasons. Face-to-face classes as well as remote teaching or a mix of the two methods are possible.
Evaluation methods
Mode of evaluation for the January session:
  • Project (45% of final grade)
  • Participation (5% of the final grade)
  • Exam (50% of final grade)
The project will be done in several phases which will contribute to the final grade of the project.
The participation rating cannot be recovered in case of failure in the January session and will be kept for the August session.
If the student does not obtain at least 50% of the total points in the January session, they can repeat only the failed part (or parts) (exam and/or the whole project) at the August session. However, in this case, the project must be done alone and a new subject can be assigned. Note the project will not be easier or simplified in August. The whole project will have to be done again, even if the student only fails at certain phases.
Other information
Background :
  • basic computer architecture and operating systems concepts (LINFO1252)
  • computer networks organisation and protocols LINGI1341
Online resources
Course materials will be given via Moodle. The course offers tests, quizzes and interactive games to test the student's knowledge and help with revision on Moodle as well. Some exercises and the submission of part of the different phases of the project could be done on the INGInious platform.
The course materials listed below are optional and only intended for deepening knowledge. The techniques learned during the course activities, the course materials, exercises and other resources provided via Moodle as well as the oral communications of the teaching team constitute the subject of the examination.
Teaching materials
  • R. Jain, "The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling," Wiley- Interscience, New York, NY, April 1991, ISBN:0471503361.
  • D. Patterson, J. Hennessy, "Computer Organization and Design: The Hardware/Software Interface" - 6th edition - 978-0128201091 (older editions are fine too)
  • D. Patterson, J. Hennessy, "Computer Architecture A Quantitative Approach", Tenth Edition - ISBN 978-1-118-06333-0 (older editions are fine too)
Faculty or entity
INFO


Programmes / formations proposant cette unité d'enseignement (UE)

Title of the programme
Sigle
Credits
Prerequisites
Learning outcomes
Master [120] in Computer Science and Engineering

Master [120] in Computer Science

Master [60] in Computer Science

Master [120] in Data Science Engineering

Master [120] in Data Science: Information Technology