Traducción de direcciones de segundo nivel (SLAT)

La traducción de direcciones de segundo nivel (SLAT) es una tecnología de virtualización de hardware que reduce la sobrecarga del hipervisor.

Para hacerlo, SLAT aborda las ineficiencias asociadas con la búsqueda de direcciones de memoria virtualizada en volúmenes de sombra de software. La tecnología existe como una característica de la CPU: un búfer de búsqueda adicional de traducción (TLB) que contiene un caché actualizado en tiempo real de direcciones de memoria virtualizadas y sus direcciones físicas correspondientes.

La virtualización es una tecnología central para muchos centros de datos, pero la capa de software introducida por un hipervisor impone una sobrecarga informática que reduce los recursos disponibles para las máquinas virtuales (VM). Los recursos informáticos físicos deben presentarse a las máquinas virtuales como recursos virtualizados; esta es la esencia de la abstracción, que aísla las cargas de trabajo del hardware informático subyacente. Cuando se recupera de SLAT en lugar de a través de una operación de búsqueda estándar, el rendimiento mejora porque la dirección de memoria se almacena en el procesador. La latencia se reduce y el sistema solo pasa por una operación de búsqueda de memoria en lugar de dos.

A medida que la memoria se direcciona en un sistema virtualizado, los valores referenciados se agregan a SLAT. El TLB contiene asignaciones de tablas de páginas recientes generadas por el hipervisor. Cuando se solicita una traducción de dirección virtual a física, el hipervisor consulta al TLB para obtener información de mapeo. Si hay una coincidencia, la dirección física se devuelve al hipervisor, sin la memoria y los recursos de CPU que serían necesarios para la traducción. Este es el "segundo nivel" de traducción de direcciones. Si no hay ninguna coincidencia, el hipervisor comprueba la tabla de páginas tradicional y realiza la traducción normal de direcciones. El hipervisor guardará la nueva traducción en el TLB para referencia futura. 

Tanto Intel como AMD admiten SLAT. Core i3, i5 e i7 son compatibles con lo que Intel llama su tecnología: tabla de páginas extendidas (EPT). Los procesadores AMD incluyen SLAT desde su arquitectura de Barcelona. AMD llama a su índice de virtualización rápida SLAT (RVI). Ambos pueden ofrecer aumentos de rendimiento de hasta aproximadamente un 40 por ciento en situaciones de virtualización intensiva e incluso hasta un 600 por ciento en micro evaluaciones comparativas.

Hay varios hipervisores que admiten SLAT, incluidos KVM 2.6.26, VirtualBox 2 (y posterior), Vmware ESX 3.5 (y posterior), Xen 3.2.0 (y posterior). Los sistemas basados ​​en Bhyve y Windows 8 no solo admiten SLAT, sino que lo requieren.