¿Puede VirtualBox afectar la disponibilidad de SSE?


3

Estoy haciendo un desarrollo en Linux que se ejecuta en VirtualBox. La computadora es un Core i5 con Windows 7 (32 bits). Según la entrada en Wikipedia, la CPU debe ser compatible con SSE4.2, pero solo SSE3 funciona en la VM. Si compilo con el indicador -msse4 en gcc, el binario resultante se bloquearía con un error de instrucción ilegal.

Respuestas:



2

VirtualBox o KVM o cualquier otra tecnología de virtualización de este tipo expone algunas características de la CPU host al huésped.

¿Por qué no exportar todas las funciones de la CPU host? Imagine que desea migrar su máquina virtual de un host a otro, sin interrupción (o guardando el estado). Pero el segundo host no tiene SSE 4. Si su VM hubiera expuesto SSE 4 en el host 1 y hubiera compilado y ejecutado con éxito un programa utilizando este conjunto de instrucciones, cuando se migre al host 2 se romperá.

Es por eso, en mi humilde opinión, es aconsejable no exponer todos los conjuntos de instrucciones compatibles de la CPU host de forma predeterminada y no me sorprende que este sea el caso con VirtualBox. Sin embargo, debería (y espero que sea la solución implementada para el ticket) permitir al usuario anular la elección predeterminada de las funciones expuestas. Y AFAIK esta opción aún no existe. Entonces tendrás que ser paciente.

Tenga en cuenta que KVM le permite establecer los conjuntos de instrucciones que desea exponer a los invitados por invitado (s).


¿Tiene alguna referencia para no admitir que SSE4 sea "para permitirle migrar" y otras cosas, frente a "todavía no lo hemos logrado"?
Mark Sowul

No, no lo hago. Probablemente debería reformular mi oración, en lugar de leer "Es por eso que VirtualBox no necesariamente se expone por defecto (...)" debería haber leído "Es por eso, en mi humilde opinión, es aconsejable no exponer todas las instrucciones compatibles establecidas por defecto y no me sorprende que este sea el caso con VirtualBox ". Espero responder a su preocupación.
Huygens
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.