Abstract:
Many scientific researches deal with the benefits of size-based scheduling, showing that disciplines such as the Least Attained Service (LAS) or the multi-level processor sharing disciplines improve the performance of TCP flows by reducing the expected flow completition time with respect to the adopted Processor Sharing (PS) discipline. This thesis explains the 2 level-processor sharing queue (2LPS), provides a simple implementation in a Linux kernel and reports the results obtained by testing the discipline using real datasets. 2LPS is parameterized only with a threshold $a$ that depends on the jobs distribution, for this reason the explained implementation gathers information about the size of the jobs, computes the optimal threshold and updates its value in the kernel; this is done repeatedly after a sufficient amount of time. The capacity of update the threshold $a$ according to the jobs distribution which are actually transmitted, makes the 2LPS potentially useful for any data trasmission over TCP, and so a valid replacement for the widely adopted Processor Sharing (PS).