2 votos

Pena de rendimiento virtualizando x86 de arm vs x86 de x86

No estoy del todo seguro de si este es el lugar correcto para esta pregunta, pero me gustaría crear un servidor para ejecutar algunos experimentos en y estoy considerando el brazo, la mayor parte de mi código puede ser compilado para ejecutarse en el brazo, pero habrá algunas dependencias externas que pueden tener para ejecutarse en x86, así que estoy tratando de entender cómo se vería.

Entiendo que hay una penalización de rendimiento de ejecutar aplicaciones x86 de brazo. No estoy del todo claro cómo se maneja este asunto - por ejemplo, supongo que si una aplicación no está compilado para arm no se ejecuta de forma nativa en un brazo medio ambiente, así que ¿cuál sería el procedimiento para llamar a una aplicación de este tipo - e.g no os lo reconocen como un archivo ejecutable y emular el x86 llamadas en el fondo de alguna manera (supongo que tal vez os dependientes) o habría que hacer girar una completa virtuales x86 entorno para ejecutar estas aplicaciones x86.

He utilizado una variedad de tecnologías de virtualización y estoy particularmente interesado en cómo esto afectaría a un típico hipervisor de tipo 2 (hay un additionl pena que va desde x86 x86 vs brazo para x86 como bien algo como el vino que es el mapeo de las llamadas de windows de todos modos - es el soporte para el este en este momento?

agradecería una breve explicación de cómo funciona esto y un enlace a cualquiera de los criterios de desempeño para la describe operaciones

4voto

John Mahowald Puntos 76

La emulación es necesario para ejecutar x86 en el BRAZO. Cómo transparente y fácil de utilizar depende de su entorno.

Windows 10 en el BRAZO se extiende WOW64. El objetivo es un BRAZO dispositivo que Funciona con aplicaciones x86. No hay ningún servidor construye sin embargo, aunque presumiblemente tal cosa se está probando internamente en Azure.

Otro usuario de emulación ejemplo: QEMU en Linux con binfmt_misc para hacer un poco más amigable para el usuario. No hay necesidad de emular el hardware y ejecutar otro kernel. Sin embargo, usted necesita para proporcionar a las bibliotecas de los otros arquitectura como cuando compilación cruzada.

Emular el hardware y usted puede crear cualquier máquina virtual que desee. BRAZO de la máquina virtual en x86 usando QEMU es un ejemplo. Este es un kernel diferente en hardware virtual, pero las máquinas virtuales están familiarizados estos días.

Sobrecarga de rendimiento, de nuevo varía. Los binarios nativos por supuesto, la mejor, de instrucciones de CPU reescritura de direcciones puede ser cercana a la nativa, emulando a todo el equipo está un poco más lento.

Peor de los casos, adquirir ARM y x86 cajas para sus respectivas cargas de trabajo. Complica las operaciones de un poco, pero la ganancia de hardware de la diversidad.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: