Architecture and performance of computer systems

linfo2241  2026-2027  Louvain-la-Neuve

Architecture and performance of computer systems
6.00 credits
30.0 h + 30.0 h
Q1
Teacher(s)
Language
Prerequisites
Required : principles of computer systems, as targeted in course LINFO1252 

Desirable : skills in computer networks as targeted in course LINFO1341 
Main themes
  • Organization of operating systems
  • Architecture of a modern processor Parallelism of instructions and data
  • Management of devices by the operating system
  • Management of storage devices by the operating system
  • Virtualization
  • Evaluation and improvement of performance of computer systems
Learning outcomes

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

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.4
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.4
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
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
  • ...
This teaching unit addresses issues related to sustainable development and transition through course modules dedicated to topics such as:
  • energy efficiency of programs
  • the embodied carbon of computer systems
  • ...
The course is also a computer knowledge integration course. It will lead the student to mix the concepts previously seen in computer networks, systems, programming, electronics and mathematics to reason around a complete and integrated system.
*This topic could be removed or changed according to the advancement of the lecture and students' interest in other topics.
Teaching methods
The course consists of a series of lectures and accompanying exercises and a project in multiple phases. Some practical sessions are dedicated to the launch of a project phase. Participation is strongly recommended for all activities, particularly in these launch sessions, to avoid wasting time on installing a programming environment adapted to the stages of the project.
The course offers various recreational activities such as wooclaps, quizzes, competitions, and even the acquisition of badges to stimulate learning.
Evaluation methods
Assessment method:
•    Attendance at tutorial sessions (5%)
•    Two-part written exam:
  o    75% covering the entire course material, including practical sessions (TP) and tutorials (TD)
  o    20% consisting of personalized open-ended questions based on work completed during tutorials. Failure to submit the final tutorial assignment during the academic year results in an immediate fail for this section.

Students may earn badges that encourage participation. A bonus of up to 3% of the final grade will be added to the attendance score, proportional to the number of badges earned.

For the second exam session, the written exam accounts for 100% of the final grade; the attendance score and badges are disregarded. The section based on tutorial results increases to 30%. No tutorials are held during the second session; it is the student's responsibility to catch up and submit a new final tutorial assignment by July 31st.

The use of generative AI (i.e., generating text from a prompt) to produce code for your implementations or text descriptive of your code is not permitted. Using AI to proofread or correct your own text is allowed but must be explicitly stated in the report.

Failure to comply with the methodological guidelines outlined here or on Moodle—particularly regarding the use of AI or collaboration between students on any assignment (especially the tutorial submission)—will result in an overall grade of 0 for the associated work and/or the participation grade.
Other information
Background :
  • basic computer architecture and operating systems concepts (LINFO1252)
  • computer networks organisation and protocols (LINFO1341)
It is not desirable to take these courses at the same time as this one.
Students are invited to take the prerequisite test on the course moodle (https://moodle.uclouvain.be/course/view.php?id=8590, the student can register on moodle only to take the test ).
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. However, INGInious is mostly integrated to Moodle in this course.
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


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