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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aho, A.V., Denning, P.J., Ullman, J.D.: Principles of optimal page replacement. Journal of the ACM 18(1), 80–93 (1971)
Alderson, A.: Thrashing in a multiprogrammed paging system. Technical report, University of Newcastle (1972)
Denning, P.J.: Thrashing: its causes and prevention. In: 1968 Fall Joint Computer Conference, pp. 915–922. ACM (1968)
Denning, P.J.: The working set model for program behavior. Commun. ACM 11(5), 323–333 (1968)
Goichon, F., Salagnac, G., Frnot, S.: Swap fairness for thrashing mitigation. Technical report, INRIA (2013)
Hewlett-Packard. HP-UX 11i Version 3: serialize(1) (2010)
Iyer, S.: Advanced memory management and disk scheduling techniques for general-purpose operating systems. PhD thesis, Rice University (2005)
Jiang, S., Zhang, X.: TPF: a dynamic system thrashing protection facility. Software: Practice and Experience 32, 295–318 (2002)
Jiang, S., Zhang, X.: Token-ordered LRU: An effective page replacement policy and its implementation in Linux systems. Perform. Eval. 60(1-4), 5–29 (2005)
Morris, J.B.: Demand paging through utilization of working sets on the MANIAC II. Commun. ACM 15(10), 867–872 (1972)
Reuven, M., Wiseman, Y.: Medium-term scheduler as a solution for the thrashing effect. Computer J. 49(3), 297–309 (2006)
Rodriguez-Rosell, J., Dupuy, J.-P.: The design, implementation, and evaluation of a working set dispatcher. Commun. ACM 16(4), 247–253 (1973)
Stanovich, M.J., Baker, T.P., Wang, A.I.: Throttling on-disk schedulers to meet soft-real-time requirements. In: Real-Time and Embedded Technology and Applications Symposium, RTAS 2008 (2008)
Wu, J., Brandt, S.: Storage access support for soft real-time applications. In: Real-Time and Embedded Technology and Applications Symposium, RTAS 2004 (2004)
Yu, Y.J., Shin, D.I., Eom, H., Yeom, H.Y.: NCQ vs. I/O scheduler: Preventing unexpected misbehaviors. ACM Transactions Storage 6(1), 2 (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Goichon, F., Salagnac, G., Frénot, S. (2013). Swap Fairness for Thrashing Mitigation. In: Drira, K. (eds) Software Architecture. ECSA 2013. Lecture Notes in Computer Science, vol 7957. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39031-9_27
Download citation
DOI: https://doi.org/10.1007/978-3-642-39031-9_27
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-39030-2
Online ISBN: 978-3-642-39031-9
eBook Packages: Computer ScienceComputer Science (R0)