Traduction d’adresse de second niveau (SLAT)

La traduction d'adresse de second niveau (SLAT) est une technologie de virtualisation matérielle qui réduit la surcharge de l'hyperviseur.

Bien que la virtualisation soit une technologie essentielle dans les technologies de base de nombreux centres de données, l'hyperviseur introduit une couche logicielle qui crée une surcharge de calcul qui réduit les ressources des machines virtuelles (VM). Les ressources informatiques virtualisées sont présentées aux VM sous la forme de ressources informatiques physiques. Il s'agit d'une abstraction. Elle isole le matériel informatique sous-jacent des charges de travail. Lorsqu'elles sont extraites de SLAT plutôt que par une opération de consultation standard, les performances sont améliorées car l'adresse mémoire est stockée sur le processeur. La latence est réduite et le système n'effectue qu'une seule opération de consultation de la mémoire au lieu de deux. Les systèmes virtualisés adressent la mémoire en ajoutant des références à la TLB. La TLB contient les mappages récents des tables de pages générés par l'hyperviseur. Lorsqu'une traduction d'adresse virtuelle en adresse physique est demandée, l'hyperviseur interroge la TLB pour obtenir des informations de mappage. S'il y a une correspondance, l'adresse physique est renvoyée à l'hyperviseur - sans les ressources de mémoire et de CPU qui seraient nécessaires pour la traduction. C'est ce qu'on appelle la traduction d'adresse de "second niveau". L'hyperviseur vérifie les tables de pages traditionnelles pour déterminer s'il y a une correspondance et effectue ensuite une traduction d'adresse normale. L'hyperviseur enregistre ensuite la nouvelle traduction dans la TLB pour référence ultérieure. Intel et AMD prennent tous deux en charge la technologie SLAT. La technologie de table de pages étendue (EPT) d'Intel est prise en charge par les processeurs Core i3, Core i5 et Core i7. Depuis leur architecture Barcelona, les processeurs AMD prennent en charge la technologie SLAT. AMD appelle sa SLAT indexation de virtualisation rapide (RVI). Chacun d'entre eux peut offrir des gains de performance d'environ 40 % dans les environnements de virtualisation, et jusqu'à 600 % dans les micro-benchmarks. Un certain nombre d'hyperviseurs prennent en charge SLAT. Il s'agit notamment de VirtualBox 2, KVM 2.6.26 et VirtualBox 2. Les systèmes basés sur Bhyve et Windows 8 non seulement prennent en charge SLAT mais l'exigent.

SLAT résout les problèmes liés à la recherche d'adresses de mémoire virtualisée dans les volumes fantômes logiciels. Cette technologie est une fonctionnalité du CPU. Elle contient un tampon de traduction supplémentaire (TLB) qui stocke un cache constamment mis à jour des adresses virtualisées ainsi que de leurs adresses physiques.