Reducing the Thrashing Effect using Bin Packing

M. Reuven and Y. Wiseman (Israel)


Thrashing, Bin-Packing, Kernel Manipulation.


We suggest a method for minimizing the paging on a system with a very heavy memory usage. Sometimes there are processes with active memory allocations that need to be in the physical memory, and their total size exceeds the physical memory size. In these cases the operating system will start swapping pages in and out of the memory on every context switch. We minimize this thrashing by splitting the processes into a number of bins, using Bin Packing approximation algorithms. We change the scheduler to have two levels of scheduling - medium term scheduling and short-term scheduling. The medium term scheduler switches the bins in a Round-Robin manner, while the short-term scheduler runs the standard Linux scheduler among the processes in each bin. Experimental results show significant improvement on heavily loaded memories. The code of this project is free and can be found in:

Important Links:

Go Back