Hoy quiero hablaros de SLAT, (Second Level Address Translation) que en español se podría traducir a algo parecido a: Traducción de Direcciones de Segundo Nivel y vamos a hablaros de esta tecnología porque está íntimamente relacionado con  las versiones de Windows posteriores a Windows 8  y con su plataforma de virtualización Hyper-V ya que para ejecutar esta tecnología nuestro procesador debe tener soporte para SLAT. Y ¿Qué es SLAT y cómo puedo revisar si mi procesador lo soporta?.  En este artículo vamos a verlo.

 

¿Qué es SLAT?.

En primer lugar SLAT es una tecnología soportada tanto por Intel como por AMD en sus procesadores de última generación aunque ambas marcas la denominan de forma diferente. Intel la llama EPT (Extended Page Tables) en castellano, Tablas de Paginas Extendidas y la soporta todos sus procesadores de última generación.  En concreto es soportada por casi todos sus procesadores Intel Core I3, I5 e I7.   De todas formas si tienes previsto comprarte un equipo y quieres saber si el procesador de tu máquina tiene soporte EPT, no tienes más que revistar la siguiente lista en el que aparecen desglosadas las capacidades de virtualización de los diferentes procesadores de Intel.

http://ark.intel.com/Products/VirtualizationTechnology

Del otro lado tenemos a AMD cuya denominación para esta tecnología es   RVI (Real Virtual Indexing) que en castellano podríamos traducir como Indexado Rápido de Virtualización.

AMD soporta RVI en todos sus procesadores de última generación y en concreto  a partir de su gama de procesadores Opteron de tercera generación. La lista completa la tenéis desglosada aquí.

http://support.amd.com/us/kbarticles/Pages/GPU120AMDRVICPUsHyperVWin8.aspx

Como hemos dicho tanto AMD como Intel dan soporte a esta tecnología en toda su gama de procesadores más recientes y es que la virtualización de sistemas es algo que cada vez adquiere más relevancia. Tanto a nivel de Sistemas Operativos como de Hardware. Así pues los fabricantes de procesadores, conscientes de estas necesidades, dotan sus CPUs de tecnología que trata de agilizar en la medida de lo posible, las tareas de virtualización y ahí es donde entra SLAT. Una tecnología que se incorpora a nivel de procesador y que se encarga de traducir las direcciones virtuales de los sistemas invitados  (virtualizados) en direcciones de sistema físicas.   Haciendo uso de SLAT se consigue reducir tanto el tiempo de CPU como la memoria ocupada por las diferentes máquinas virtuales.  

¿Por qué Windows 8 requiere SLAT?.

Habrá mucha gente que se pregunte porque es necesario SLAT si queremos instalar Hyper-V en Windows 8, máxime si tenemos en cuenta que Windows 2012 no requiere de dicha tecnología en Hyper-V a no ser que hagamos uso del servicio Remote-Fx.

El motivo lo tenemos en que Windows 8 está diseñado como un sistema operativo cliente y tiene capacidades gráficas mucho más elevadas que Windows 2012 o dicho de otra manera Windows 8 tiene unos efectos gráficos y un entorno de usuario mucho más amable que Windows 2012.  Como hemos visto SLAT reduce tanto la memoria ocupada por las máquinas virtuales como el tiempo de CPU usado para gestionarlas por lo que el uso de esta tecnología en Windows 8 garantizaría que tanto el S.O. como sus diferentes procesos fueran gestionados ágilmente.  En este blog de MSDN nos explican más detalladamente el motivo y los problemas de rendimiento de video en Hyper-V cuando es usado en un host con altas capacidades gráficas.

¿Cómo puedo saber si mi procesador soporta SLAT?

Hay una forma muy sencilla de saber si nuestro procesador soporta SLAT. Tratando de instalarlo!, para hacerlo no tenemos más que ir al Panel de Control y seleccionar Programas > Programas y características y a continuación seleccionar en el panel de la derecha Activar o desactivar características de Windows.

programsslat

En la lista de programas desplegaremos la carpeta Hyper-V  y a continuación tildaremos la casilla correspondiente a Plataforma Hyper-V. Si nos aparece en gris, es decir, deshabilitado como en la imagen, es que nuestro procesador no soporta SLAT en caso contrario si lo soportaría.

También podemos emplear la utilidad coreinfo  que provee Microsoft que es una utilidad de línea de comandos que, entre otras cosas, nos mostrará las capacidades de virtualización de nuestro procesador.  Para ello no tenemos más ejecutar en un símbolo de sistema con elevación de privilegios el comando.   

Coreinfo –v

Intel(R) Core(TM)2 Duo CPU     T8100  @ 2.10GHz
Intel64 Family 6 Model 23 Stepping 6, GenuineIntel
HYPERVISOR      -       Hypervisor is present 
VMX            *       Supports Intel hardware-assisted virtualization EPT             -       Supports Intel extended page tables (SLAT)

La ejecución del comando nos mostrará un listado parecido al que acabamos de exponeros.

Como mi procesador de esta máquina es  Intel y ya tiene algunos años no soporta EPT en  caso contrario aparecería un asterisco en la fila correspondiente. Si el procesador fuera AMD el proceso sería idéntico pero la tecnología SLAT aparecería identificada con las siglas NPT ó NT.