This repository contains the code and analysis for Assignment 2 of the course Software Performance and Scalability [CM0481]. The assignment focuses on studying and comparing the mean slowdown of various queuing disciplines including FCFS (First-Come-First-Serve, PS (Processor Sharing), and SRPT (Shortest Remaining Processing Time).
The goal of the project is to compare the mean slowdown of three queuing disciplines: FCFS, PS, and SRPT. Slowdown, defined as the delay normalized to the job size, is used for comparison. Default values for the Pareto distribution shaping the policies are provided.
The All-Can-Win theory states that for an M/G/1 system, if
A comparison plot illustrates that SRPT consistently outperforms PS, validating the All-Can-Win theory. SRPT remains fair for all job sizes up to 400, with its performance consistently below PS.
The analysis confirms SRPT's superiority over PS, aligning with theoretical predictions. The results uphold the All-Can-Win theory, even for
The conclusions drawn from the analysis are summarized. It is observed that SRPT remains a fair discipline for job sizes up to 400. The All-Can-Win theory holds true for the given conditions (
- Clone the repository.
- Run
plots.py
to generate the comparison plot. - Review the analysis and conclusions in the README.md file.
- Francesco Forcellato (875290)
- Gabriele Pilotto (902388)
- Pietro Visconti (885448)
2023 / 2024
For more details, refer to the code and documentation provided in this repository.