Swap fairness for thrashing mitigation

  • Authors:
  • François Goichon;Guillaume Salagnac;Stéphane Frénot

  • Affiliations:
  • INSA-Lyon, CITI-INRIA, University of Lyon, Villeurbanne, France;INSA-Lyon, CITI-INRIA, University of Lyon, Villeurbanne, France;INSA-Lyon, CITI-INRIA, University of Lyon, Villeurbanne, France

  • Venue:
  • ECSA'13 Proceedings of the 7th European conference on Software Architecture
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

The swap mechanism allows an operating system to work with more memory than available RAM space, by temporarily flushing some data to disk. However, the system sometimes ends up spending more time swapping data in and out of disk than performing actual computation. This state is called thrashing. Classical strategies against thrashing rely on reducing system load, so as to decrease memory pressure and increase global throughput. Those approaches may however be counterproductive when tricked into advantaging malicious or long-standing processes. This is particularily true in the context of shared hosting or virtualization, where multiple users run uncoordinated and selfish workloads. To address this challenge, we propose an accounting layer that forces swap fairness among processes competing for main memory. It ensures that a process cannot monopolize the swap subsystem by delaying the swap operations of abusive processes, reducing the number of system-wide page faults while maximizing memory utilization.