Swap Fairness for Thrashing Mitigation

François Goichon 1, 2, * Guillaume Salagnac 1, 2 Stéphane Frénot 1, 3, *
* Auteur correspondant
2 SOCRATE - Software and Cognitive radio for telecommunications
Inria Grenoble - Rhône-Alpes, UCBL - Université Claude Bernard Lyon 1, CITI - CITI Centre of Innovation in Telecommunications and Integration of services
3 DICE - Data on the Internet at the Core of the Economy
Inria Grenoble - Rhône-Alpes, INSA - Institut National des Sciences Appliquées
Résumé : Le mécanisme de swap permet à un système d'exploitation de travailler avec plus de mémoire que la quantité de RAM disponible, en déchargeant temporairement sur le disque les pages inutilitées. Cependant, les communications avec le disque sont beaucoup plus lentes que les opérations mémoires classiques. En cas de forte contention mémoire, le système peut donc se retrouver à passer l'essentiel de son temps à transférer des données depuis et vers le disque plutôt qu'à exécuter les programmes. On parle alors d'écroulement (thrashing). Pour atténuer ce problème, les approches classiques proposent des algorithmes optimisés de remplacement de page, ou des techniques de réduction de la charge globale du système. Par exemple, Linux emploie une technique appelée jeton de swap (swap-token), conçue pour protéger l'un des processus du système contre tout déchargement de page. Ce mécanisme vise à permettre à ce processus de terminer son exécution le plus rapidement possible, de façon à faire redescendre la pression sur le swap. Cependant, le swap-token se révèle inefficace, voire contre-productif lorsqu'il se trompe et qu'il favorise un processus malveillant, ou simplement durable. Ce problème est particulièrement sévère dans le contexte de l'hébergement mutualisé ou de la virtualisation, où plusieurs utilisateurs doivent se partager une machine et y exécuter plusieurs charges de travail simulatnées et égoïste. Dans ce rapport, nous présentons une couche de facturation qui force l'équité entre tous les processus en compétition pour la mémoire. De cette façon, un processus ne peut pas s'accaparer le mécanisme de swap, ni retarder déraisonnablement les requêtes de swap des autres processus. Cette couche permet de réduire significativement la dispersion des temps d'exécution de programmes en situation de contention mémoire, et de manière générale, d'améliorer la performance des application légitimes lorsqu'elles s'exécutent en concurrence avec des applications abusives.
Type de document :
Rapport
[Research Report] RR-8388, INRIA. 2013, pp.17
Liste complète des métadonnées

https://hal.inria.fr/hal-00879084
Contributeur : Guillaume Salagnac <>
Soumis le : jeudi 31 octobre 2013 - 16:57:13
Dernière modification le : samedi 17 septembre 2016 - 01:36:55
Document(s) archivé(s) le : samedi 1 février 2014 - 04:30:44

Fichier

RR-8388.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-00879084, version 1

Collections

Citation

François Goichon, Guillaume Salagnac, Stéphane Frénot. Swap Fairness for Thrashing Mitigation. [Research Report] RR-8388, INRIA. 2013, pp.17. <hal-00879084>

Partager

Métriques

Consultations de
la notice

247

Téléchargements du document

207