Architecture and performance of computer systems

linfo2241  2024-2025  Louvain-la-Neuve

Architecture and performance of computer systems
6.00 credits
30.0 h + 30.0 h
Q1
Teacher(s)
Language
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 :

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
  • ...
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
Mode of evaluation for the January session:
  • Project (50% of the final grade)
  • Participation (5% of the final grade)
  • Exam (45% of the 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 but the overall project mark is below 50%.
The use of generative AI such as ChatGPT, Consensus, Perplexity, etc. is prohibited. The continuous assessment includes assignments, which will result in a single overall grade, communicated at the end of the last assignment. Failure to comply with the methodological instructions defined on moodle, particularly in terms of the use of online resources or collaboration between students, for any work/assignment will result in an overall grade of 0 for the projects and/or participation.
Other information
Background :
  • basic computer architecture and operating systems concepts (LINFO1252)
  • computer networks organisation and protocols LINGI1341
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