Accélération des accès mémoire dans la traduction binaire dynamique

par Antoine Faravelon

Thèse de doctorat en Informatique

Sous la direction de Frédéric Pétrot et de Olivier Gruber.

Le président du jury était Florence Maraninchi.

Le jury était composé de Alain-Bouzaïde Tchana.

Les rapporteurs étaient Erven Rohou, Gaël Thomas.


  • Résumé

    Dans cette thèse nous nous intéressons à l'accélération des accès mémoire dans la traduction binaire dynamique.Pour cela, nous nous basons sur des méthodes dont la principale finalité est de gérer l'espace mémoire de la cible avec le matériel de l'hôte.Deux grandes méthodes pour cela ont été exploré, l'une basé sur la support matériel à la virtualisation, et l'autre sur un module Linux.Dans le cas du support matériel à la virtualisation, nous avons utilisé le simulateur comme un invité spécifique.Celui ci jouant un rôle analogue à celui d'un OS, en plus de son rôle de simulateur, pour la cible.En particulier il se charge de lui créer un espace d'adressage enchevêtré, qui puisse être utiliser directement, sans simulation logicielle de la gestion de la mémoire virtuelle.Dans le cas de la méthode basée sur un module Linux, les mêmes finalités sont poursuivi.Mais le simulateur continue de fonctionner comme un processus normal.En revanche, il possède désormais un module compagnon, avec lequel il peut communiquer au travers d'ioctl.Ce module est chargé de manipuler la gestion de la mémoire virtuelle de l'hôte et ce afin de créer un espace d'adressage enchevêtré pour la cible.Ces méthodes ont été implémenté dans Qemu et Linux et mène à des gains de performances significatifs.

  • Titre traduit

    Acceleration of memory accesses in dynamic binary translation


  • Résumé

    In this thesis we are interested in the acceleration of memory accesses in dynamic binary translation.For this, we base ourselves on methods whose main purpose is to manage the target's address space with the host's hardware.Two main methods for this have been explored, one based on hardware assisted virtualization, and the other on a Linux module.In the case of hardware assisted virtualization, we used the simulator as a specific guest.This one playing a role similar to that of an OS, in addition to its role of simulator, for the target.In particular, it is responsible for creating an enmbedded address space that can be used directly, without software simulation of an MMU.In the case of a method based on a Linux module, the same purpose is pursued.But the simulator continues to operate as a normal process.On the other hand, it now has a companion module, with which it can communicate through ioctl.This module is responsible for manipulating the host's virtual memory management to create an embedded address space for the target.These methods have been implemented in Qemu and Linux and lead to significant performance gains.


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 : Université Savoie Mont Blanc (Chambéry-Annecy). Service commun de la documentation et des bibliothèques universitaires. Bibliothèque électronique.
  • Bibliothèque : Université Grenoble Alpes. Bibliothèque et Appui à la Science Ouverte. Bibliothèque électronique.
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.