Medium-term scheduler as a solution for the thrashing effect

Moses Reuven, Yair Wiseman

Research output: Contribution to journalArticlepeer-review


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 should be in the physical memory, but their total size exceeds the physical memory range. In such cases, the operating system starts 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 modify 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, whereas the short-term scheduler runs the standard Linux scheduler among the processes in each bin. We show that this feature does not impose modifications on the shared memory maintenance. In addition, we show how to adjust the new scheduler to fit some elements of the original scheduler like priority and real-time privileges. Experimental results show significant improvement on heavily loaded memories. The code of this project is free and can be found in

Original languageEnglish
Pages (from-to)297-309
Number of pages13
JournalComputer Journal
Issue number3
StatePublished - May 2006
Externally publishedYes


  • Allocation/deallocation strategies
  • Process management
  • Scheduling
  • Swapping
  • Virtual memory


Dive into the research topics of 'Medium-term scheduler as a solution for the thrashing effect'. Together they form a unique fingerprint.

Cite this