SOFTWARE PERFORMANCE AND SCALABILITY
- Academic year
- 2025/2026 Syllabus of previous years
- Official course title
- SOFTWARE PERFORMANCE AND SCALABILITY
- Course code
- CM0481 (AF:576829 AR:323816)
- Teaching language
- English
- Modality
- On campus classes
- ECTS credits
- 6
- Degree level
- Master's Degree Programme (DM270)
- Academic Discipline
- ING-INF/05
- Period
- 2nd Semester
- Course year
- 1
- Where
- VENEZIA
- Moodle
- Go to Moodle page
Contribution of the course to the overall degree programme goals
The student will know the fundamental aspects to be considered in the design of software with performance and scalability a low energy impact requirements.
Expected learning outcomes
- identify the main performance patterns in a system: bottlenecks, congestion collapse, hidden congestion collapse, side effects of competition
- program a professional benchmarking tool and perform the experiments to assess the performance indices
- interpret the outcomes of a benchmark correctly
- model a software architecture by means of a queueing system or a queueing network
- indentify the bottlenecks and bounds for the performance indices in systems that consist of more components modelled by means of queueing networks
- compute the average performance indices in complex systems modelled by means of queueing networks
Pre-requirements
- discrete and continuous random variables
- Markov processes
Server side programming in any language
Relational databases
Contents
- Performance patterns
- Performance indices
- Methodologies for the performance evaluation
Introduction to software/hardware architectures
- classification of the parallelism in processors (hyper threading, multi core, multi processor) and impact on the software performance
- RAID systems and their impact on the performance of software
- networks and impact on the performance
- review of software architectures
Benchmarking
- Design of a benchmarking experiment
- Benchmarking in open and closed loop
- Confidence intervals
Single queueing systems
- Kendall’s notation
- Little’s law
- M/M/1, M/M/m, M/M/Infinity queues. Erlang’s Formulas
- M/G/1 queues
Queueing networks
- Operational analysis
- Jackson’s queueing networks
- Gordon Newell’s queueing networks: convolution algorithms and Mean Value Analysis
- BCMP Queueing networks
- Using Java Modelling Tool (JMT) for the performance evaluation of queueing networks
Introduction to profiling of software
Case study: performance of applications based on bitcoin/blockchain
Referral texts
Mor Harchol-Balter : Performance Modeling and Design of Computer Systems: Queueing Theory in Action. Cambridge press 2021
Assessment methods
1) A written exam and an oral interview. The written exam consists of open questions on the course topics and exercises. The oral interview will be essentially a discussion of the written exam.
2) One lab project and an oral examination. The oral examination consists in the discussion of the lab assignments and questions about the topics of the course.
Type of exam
The lecturer has a duty to ensure that the rules regarding the authenticity and originality of exam tests and papers are respected. Therefore, if there is suspicion of irregular conduct, an additional assessment may be conducted, which could differ from the original exam description.
Grading scale
The written exam and the oral interview will be evaluated according to this grid up to 100% of the maximum marking:
A) Basic knowledge of the subjects and its application: up to 70% (response times of queuing systems, bottleneck identification, operational laws, load testing)
B) Intermediate knowledge of the subjects and its application: up to 80% (understanding and application of optimal dispatching policies, product-forms, algorithms)
C) Advanced knowledge of the subjects and its application: up to 100% (understanding of the proofs of the results and ability to re-elaborate them for different scenarios)
In case 2), the exam assessment will consider the quality of the project (30%), the quality of the report describing it (20%), and the ability to present the fundamental concepts of the discipline (50%).
Teaching methods
2030 Agenda for Sustainable Development Goals
This subject deals with topics related to the macro-area "Climate change and energy" and contributes to the achievement of one or more goals of U. N. Agenda for Sustainable Development