Optimisation des caches de fichiers dans les environnements virtualisés

par Grégoire Todeschi

Thèse de doctorat en Informatique et Télécommunication

Sous la direction de Daniel Hagimont et de Alain Bouzaïde Tchana.

Le président du jury était Adrien Lebre.

Le jury était composé de Daniel Hagimont, Alain Bouzaïde Tchana, Christian Pérez, Fabienne Boyer.

Les rapporteurs étaient Christian Pérez, Fabienne Boyer.


  • Résumé

    Les besoins en ressources de calcul sont en forte augmentation depuis plusieurs décennies, que ce soit pour des applications du domaine des réseaux sociaux, du calcul haute performance, ou du big data. Les entreprises se tournent alors vers des solutions d'externalisation de leurs services informatiques comme le Cloud Computing. Le Cloud Computing permet une mutalisation des ressources informatiques dans un datacenter et repose généralement sur la virtualisation. Cette dernière permet de décomposer une machine physique, appelée hôte, en plusieurs machines virtuelles (VM) invitées. La virtualisation engendre de nouveaux défis dans la conception des systèmes d'exploitation, en particulier pour la gestion de la mémoire. La mémoire est souvent utilisée pour accélérer les coûteux accès aux disques, en conservant ou préchargeant les données du disque dans le cache fichiers. Seulement la mémoire est une ressource limitée et limitante pour les environnements virtualisés, affectant ainsi les performances des applications utilisateurs. Il est alors nécessaire d'optimiser l'utilisation du cache de fichiers dans ces environnements. Dans cette thèse, nous proposons deux approches orthogonales pour améliorer les performances des applications à l'aide d'une meilleure utilisation du cache fichiers. Dans les environnements virtualisés, hôte et invités exécutent chacun leur propre système d'exploitation (OS) et ont donc chacun un cache de fichiers. Lors de la lecture d'un fichier, les données se retrouvent présentes dans les deux caches. Seulement, les deux OS exploitent la même mémoire physique. On parle de duplication des pages du cache. La première contribution vise à pallier ce problème avec Cacol, une politique d'éviction de cache s'exécutant dans l'hôte et non intrusive vis-à-vis de la VM. Cacol évite ces doublons de pages réduisant ainsi l'utilisation de la mémoire d'une machine physique. La seconde approche est d'étendre le cache fichiers des VM en exploitant de la mémoire disponible sur d'autres machines du datacenter. Cette seconde contribution, appelée Infinicache, s'appuie sur Infiniband, un réseau RDMA à haute vitesse, et exploite sa capacité à lire et à écrire sur de la mémoire à distance. Directement implémenté dans le cache invité, Infinicache stocke les pages évincées de son cache sur de la mémoire à distance. Les futurs accès à ces pages sont alors plus rapides que des accès aux disques de stockage, améliorant par conséquent les performances des applications. De plus, le taux d'utilisation de la mémoire à l'échelle du datacenter est augmenté, réduisant le gaspillage de manière globale.

  • Titre traduit

    File cache optimization in virtualized environments


  • Résumé

    The need for computing resources has been growing significantly for several decades, in application domains from social networks, high-performance computing, or big data. Consequently, companies are outsourcing theirs IT services towards Cloud Computing solutions. Cloud Computing allows mutualizing computing resources in a data center, and generally relies on virtualization. Virtualization allows a physical machine, called a host, to be split into multiple guest virtual machines (VMs). Virtualization brings new challenges in the design of operating systems, especially memory management. Memory is often used to speed up expensive disk accesses by storing or preloading data from the disk to the file cache. However memory is a limited and limiting resource for virtualized environments, thus impacting the performance of user applications. It is therefore necessary to optimize the use of the file cache in these environments. In this thesis, we propose two orthogonal approaches to improve application performance through better use of the file cache. In virtualized environments, both host and guests run their own operating system (OS) and thus have their own file cache. When a file is read, the data is present in both caches. However, both OSes use the same physical memory. We hence have a phenomenon called pages duplication. The first contribution aims at alleviating this problem with Cacol, a host cache eviction policy, which is non-intrusive for the VM. Cacol avoids these duplicated pages, thus reducing the memory usage of a physical machine. The second approach is to extend the file cache of VMs by exploiting memory available on other machines in the datacenter. This second contribution, called Infinicache, relies on Infiniband, a high-speed RDMA network, and exploits its ability to read and write remote memory. Implemented directly in the guest cache, Infinicache stores on remote memory pages that have been evicted from its cache. Future accesses to these pages are then be faster than accesses to storage disks, thereby improving application performance. In addition, the datacenter-wide memory utilization rate is increased, reducing overall memory wasting.


Il est disponible au sein de la bibliothèque de l'établissement de soutenance.

Consulter en bibliothèque

La version de soutenance existe

Où se trouve cette thèse\u00a0?

  • Bibliothèque : Institut national polytechnique. Service commun de la documentation.
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.