Sistemas y procedimientos para la exposición de la topología de un procesador para máquinas virtuales.

Un procedimiento para optimizar el rendimiento de un sistema operativo huésped (112) que se ejecute en una máquina virtual (108),

y teniendo la citada máquina virtual una topología dinámica del procesador virtual basada en los cambios en un conjunto de recursos asignados dinámicamente por un sistema informático central (104) , teniendo la citada máquina virtual una topología dinámica de procesador virtual, comprendiendo el citado procedimiento la actualización del citado sistema operativo huésped después del inicio con al menos una actualización para reflejar al menos un cambio en la citada topología de procesador virtual, en el que el citado paso de actualización es realizado por un dispositivo de virtualización asociado con la citada máquina virtual (108) que actualiza una posición de memoria compartida con una divulgación, y el ci10 tado sistema operativo huésped (112), accediendo posteriormente a la citada posición de memoria compartida, recuperar la divulgación y aplicar la citada divulgación,

en el que el citado sistema operativo huésped (112) proporciona un indicio acerca de las preferencias de asignación de recursos al citado dispositivo de virtualización mediante la actualización de la posición de memoria compartida con un indicio, y accediendo posteriormente el citado dispositivo de virtualización a la citada posición de memoria compartida, recuperando el indicio, y aplicando el citado indicio en el que el sistema operativo huésped comprende un programador (604) de sistema operativo y la máquina virtual comprende un programador (614) de máquina virtual que programa la ejecución de los hilos de ejecución de la máquina virtual en varios procesadores lógicos del hardware físico puesto que tales procesadores lógicos están disponibles para la máquina virtual,

en el que la posición de memoria compartida es utilizada tanto por el programador (604) del sistema operativo huésped para proporcionar el indicio al programador (614) de la máquina virtual y esta posición de memoria compartida es utilizada también por el programador (614) de máquina virtual para proporcionar la divulgación al programador (604) del sistema operativo huésped, y

en el que el indicio es utilizado por el programador (614) de máquina virtual para asignar los recursos actua25 les de procesadores al citado sistema operativo huésped.

Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E05111672.

Solicitante: MICROSOFT CORPORATION.

Nacionalidad solicitante: Estados Unidos de América.

Dirección: ONE MICROSOFT WAY REDMOND, WASHINGTON 98052-6399 ESTADOS UNIDOS DE AMERICA.

Inventor/es: Traut,Eric P, Vega,Rene Antonio.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • G06F9/50 FISICA.G06 CALCULO; CONTEO.G06F PROCESAMIENTO ELECTRICO DE DATOS DIGITALES (sistemas de computadores basados en modelos de cálculo específicos G06N). › G06F 9/00 Disposiciones para el control por programa, p. ej. unidades de control (control por programa para dispositivos periféricos G06F 13/10). › Asignación de recursos, p. ej. de la unidad central de procesamiento [CPU].

PDF original: ES-2382470_T3.pdf

 

Sistemas y procedimientos para la exposición de la topología de un procesador para máquinas virtuales.

Fragmento de la descripción:

Sistemas y procedimientos para la exposición de la topología de un procesador para máquinas virtuales Campo de la invención La presente invención se refiere en general al campo de las máquinas virtuales (también conocidas como "virtualización de procesadores") y sistemas operativos que se ejecutan en los entornos de las máquinas virtuales. Más específicamente, la presente invención se refiere a sistemas y procedimientos para exponer la topología de un procesador de una máquina virtual a un sistema operativo huésped que se ejecuta en una máquina virtual, en el que la citada topología está basada dinámicamente en asignaciones del procesador del sistema informático anfitrión y en los recursos de memoria.

Antecedentes de la invención Los ordenadores incluyen unidades de procesamiento de propósito general (CPU) anfitrionas o "procesadores" que están diseñados para ejecutar un conjunto específico de instrucciones del sistema. Un grupo de procesadores que tienen una arquitectura o especificaciones de diseño similares pueden ser considerados como miembros de la misma familia de procesadores. Ejemplos de las familias de procesadores actuales incluyen a la familia de procesadores Motorola 680X0, fabricados por Motorola, Inc. de Phoenix, Arizona, la familia de procesadores Intel 80X86, fabricados por Intel Corporation, de Sunnyvale, California, y la familia de procesadores PowerPC, que son fabricado por Motorola, Inc. y que se utilizan en los ordenadores fabricados por Apple Computer, Inc., de Cupertino, California. Aunque un grupo de procesadores puedan ser de la misma familia debido a su arquitectura y consideraciones de diseño similares, los procesadores pueden variar ampliamente dentro de una familia de acuerdo con su velocidad de reloj y otros parámetros de rendimiento.

Cada familia de microprocesadores ejecuta las instrucciones que son únicas para la familia de procesadores. El conjunto colectivo de instrucciones que un procesador o familia de procesadores pueden ejecutar se conoce como conjunto de instrucciones de procesador. Como ejemplo, el conjunto de instrucciones utilizado por la familia de procesadores Intel 80X86 es incompatible con el conjunto de instrucciones utilizado por la familia de procesadores PowerPC. El conjunto de instrucciones Intel 80X86 está basado en el formato Conjunto de Instrucciones Complejas para Ordenador (CISC) . El conjunto de instrucciones PowerPC de Motorola está basado en el formato Conjunto de Instrucciones Reducido para Ordenador (RISC) . Los procesadores CISC utilizan un gran número de instrucciones, algunas de las cuales pueden realizar funciones bastante complicadas, pero requieren, en general, muchos ciclos de reloj para ser ejecutadas. Los procesadores RISC utilizan un número menor de instrucciones disponibles para realizar un conjunto más simple de las funciones que se ejecutan a una velocidad mucho mayor.

La singularidad de la familia de procesadores entre los sistemas informáticos también resulta típicamente en la incompatibilidad entre los otros elementos de la arquitectura de hardware de los sistemas informáticos. Un sistema informático fabricado con un procesador de la familia de procesadores Intel 80X86 tendrá una arquitectura de hardware que es diferente de la arquitectura de hardware de un sistema informático fabricado con un procesador de la familia de procesadores PowerPC. Debido a la singularidad del conjunto de instrucciones de procesador y a la arquitectura de hardware de un sistema informático, los programas de software de aplicaciones son escritos típicamente para que se ejecuten en un sistema informático en particular que se ejecuta un sistema operativo en particular.

Máquinas Virtuales Los fabricantes de ordenadores quieren maximizar su cuota de mercado teniendo más, y no menos, aplicaciones se ejecutan en la familia de microprocesadores asociados con la línea de productos del fabricante de ordenadores. Para ampliar el número de sistemas operativos y programas de aplicación que se pueden ejecutar en un sistema informático, se ha desarrollado un campo de la tecnología en el que un ordenador dado que tiene un tipo de CPU, que se denomina anfitrión, incluirá un programa de virtualización que permite que el ordenador anfitrión emule las instrucciones de un tipo no relacionado de CPU, que se denomina huésped. De esta manera, el ordenador anfitrión ejecutará una aplicación que hará que se invoquen una o más instrucciones de anfitrión como respuesta a una instrucción de huésped dada, y de esta forma, el ordenador anfitrión podrá ejecutar el software diseñado tanto para su propia arquitectura de hardware y el software escrito para ordenadores que tienen una arquitectura de hardware no relacionada.

Como un ejemplo más específico, un sistema informático fabricado por Apple Computer, por ejemplo, puede ejecutar sistemas operativos y programas escritos para sistemas informáticos basados en PC. También puede ser posible utilizar programas de virtualización para ejecutar concurrentemente en una sola CPU múltiples sistemas operativos incompatibles. En esta última disposición, aunque cada sistema operativo sea incompatible con el otro, los programas de virtualización pueden alojar cada uno de los distintos sistemas operativos, permitiendo así que los sistemas operativos, que de otra forma serían incompatibles, se ejecuten al mismo tiempo en el mismo sistema informático anfitrión.

Cuando un sistema informático huésped es emulado en un sistema informático anfitrión, se dice que el sistema informático huésped es una "máquina virtual", puesto que el sistema informático huésped sólo existe en el sistema informático como una representación pura de software de la operación de una arquitectura de hardware específica. Las expresiones dispositivo de virtualización, emulador, ejecutor directo, máquina virtual, y emulación de procesador a veces se utilizan de manera intercambiable para indicar la capacidad de imitar o emular la arquitectura de hardware de un sistema informático completo utilizando uno o varios enfoques conocidos y apreciados por los expertos en la técnica. Por otra parte, todos los usos de la palabra "emulación" en cualquier forma pretenden transmitir este significado amplio y no se pretende distinguir entre los conceptos de ejecución de instrucciones de emulación con respecto a la ejecución directa de las instrucciones del sistema operativo en la máquina virtual. De esta manera, por ejemplo, el software Virtual PC creado por la Corporación Connectix de San Mateo, California, "emula" (por la emulación de ejecución de instrucciones y / o ejecución directa) un ordenador completo que incluye un procesador Intel Pentium 80X86 y varios componentes de la placa base y tarjetas, y la operación de estos componentes es "emulada" en la máquina virtual que se ejecuta en la máquina anfitriona. Un programa de virtualización que se ejecuta en el software del sistema operativo y arquitectura de hardware del ordenador anfitrión, tal como un sistema informático que tenga un procesador PowerPC, imita el funcionamiento de todo el sistema informático huésped.

El programa de virtualización actúa como intercambio entre la arquitectura de hardware de la máquina anfitriona y las instrucciones transmitidas por el software (por ejemplo, sistemas operativos, aplicaciones, etc.) que se ejecuta dentro del entorno emulado. Este programa de virtualización puede ser un sistema operativo anfitrión (HOS) , que es un sistema operativo que se ejecuta directamente en el hardware del ordenador físico (y que puede comprender un hipervisor, que se discutirá en mayor detalle más adelante en la presente memoria descriptiva) . Alternativamente, el entorno emulado también podría ser un monitor de máquina virtual (VMM) que es una capa de software que se ejecuta directamente sobre el hardware, quizás ejecutándose lado a lado y trabajando en conjunto con el sistema operativo anfitrión, y que puede virtualizar todos los recursos de la máquina anfitriona (así como algunos recursos virtuales) exponiendo las interfaces, que son las mismas que el hardware del VMM está virtualizando. Esta virtualización permite que el dispositivo de virtualización (así como el mismo sistema informático anfitrión) pase desapercibido por las capas del sistema operativo que se ejecutan sobre el mismo.

En resumen, la emulación de procesador permite que un sistema operativo huésped se ejecute en una máquina virtual creada por un dispositivo de virtualización que se ejecuta en un sistema informático anfitrión, comprendiendo el citado sistema informático anfitrión el hardware físico así como un sistema operativo anfitrión.

Topología... [Seguir leyendo]

 


Reivindicaciones:

1. Un procedimiento para optimizar el rendimiento de un sistema operativo huésped (112) que se ejecute en una máquina virtual (108) , y teniendo la citada máquina virtual una topología dinámica del procesador virtual basada en los cambios en un conjunto de recursos asignados dinámicamente por un sistema informáti

co central (104) , teniendo la citada máquina virtual una topología dinámica de procesador virtual, comprendiendo el citado procedimiento la actualización del citado sistema operativo huésped después del inicio con al menos una actualización para reflejar al menos un cambio en la citada topología de procesador virtual, en el que el citado paso de actualización es realizado por un dispositivo de virtualización asociado con la citada máquina virtual (108) que actualiza una posición de memoria compartida con una divulgación, y el ci

tado sistema operativo huésped (112) , accediendo posteriormente a la citada posición de memoria compartida, recuperar la divulgación y aplicar la citada divulgación, en el que el citado sistema operativo huésped (112) proporciona un indicio acerca de las preferencias de asignación de recursos al citado dispositivo de virtualización mediante la actualización de la posición de memoria compartida con un indicio, y accediendo posteriormente el citado dispositivo de virtualización a la citada posición de memoria compartida, recuperando el indicio, y aplicando el citado indicio en el que el sistema operativo huésped comprende un programador (604) de sistema operativo y la máquina virtual comprende un programador (614) de máquina virtual que programa la ejecución de los hilos de ejecución de la máquina virtual en varios procesadores lógicos del hardware físico puesto que tales procesadores lógicos están disponibles para la máquina virtual, en el que la posición de memoria compartida es utilizada tanto por el programador (604) del sistema operativo huésped para proporcionar el indicio al programador (614) de la máquina virtual y esta posición de memoria compartida es utilizada también por el programador (614) de máquina virtual para proporcionar la divulgación al programador (604) del sistema operativo huésped, y en el que el indicio es utilizado por el programador (614) de máquina virtual para asignar los recursos actua25 les de procesadores al citado sistema operativo huésped.

2. El procedimiento de la reivindicación 1, en el que el paso del citado sistema operativo huésped (112) de acceder posteriormente a la citada posición de memoria compartida se realiza de acuerdo con un programa o se realiza como respuesta a una interrupción generada por el citado emulador en la citada máquina virtual (108) .

3. Un medio legible por ordenador que comprende instrucciones legibles por ordenador para optimizar el rendimiento de un sistema operativo huésped (112) adecuado para la ejecución en una máquina virtual (108) , y teniendo la citada máquina virtual (108) una topología dinámica de procesador virtual basada en los cambios en un conjunto de recursos asignados dinámicamente por un sistema informático anfitrión (104) , teniendo la citada máquina virtual una topología dinámica de procesador virtual, comprendiendo las citadas instrucciones legibles por ordenador:

instrucciones para la actualización del citado sistema operativo huésped (112) después del inicio con al menos una actualización para reflejar al menos un cambio en la citada topología de procesador virtual que comprende, además, instrucciones por lo que el citado paso de actualización se lleva a cabo por un dispositivo de virtualización asociado con la citada máquina virtual (108) que 40 actualiza una posición de memoria compartida con una divulgación, y accediendo posteriormente el citado sistema operativo huésped (112) a la citada posición de memoria compartida, recuperando la divulgación y aplicando la citada divulgación y en el que el citado sistema operativo huésped (112) proporciona un indicio acerca de las preferencias de asignación de recursos al citado dispositivo de virtualización mediante la actualización de la posición de memoria compartida con un indi

45 cio, y accediendo posteriormente el citado dispositivo de virtualización a la citada posición de memoria compartida, recuperando el indicio, y aplicando el citado indicio, en el que el sistema operativo huésped comprende un programador (604) de sistema operativo y la máquina virtual comprende un programador (614) de máquina virtual que programa la ejecución los hilos de ejecución de la máquina virtual en varios procesadores lógicos del hardware físico 50 cuando tales procesadores lógicos se ponen a disposición de la máquina virtual, en el que la posición de memoria compartida es utilizada por el programador (604) del sistema operativo huésped para proporcionar el indicio al programador (614) de máquina virtual y esta posición de memoria compartida es también utilizada por el programador (614) de máquina virtual para proporcionar la divulgación al programador (604) del sistema operativo huésped, y 55 en el que el indicio es utilizado por el programador de máquina virtual (614) para asignar los recursos de procesadores actuales al citado sistema operativo huésped.

4. El medio legible por ordenador de la reivindicación 3, que comprenden, además, instrucciones adicionales con lo que el paso del citado sistema operativo huésped (112) de acceder posteriormente a la citada posición de memoria compartida se realiza de acuerdo con un programa o se realiza en respuesta a una interrupción generada por el citado emulador en la citada máquina virtual (108) .

5. Un sistema para optimizar el rendimiento de un sistema operativo huésped (112) que se ejecuta en una máquina virtual (108) , y teniendo la citada máquina virtual una topología dinámica de procesador virtual basada en los cambios en un conjunto de recursos asignados dinámicamente por un sistema informático anfitrión (104) , teniendo la citada máquina virtual una topología dinámica de procesador virtual, comprendiendo el citado sistema:

al menos un subsistema para la actualización del citado sistema operativo huésped (112) después del inicio con al menos una actualización para reflejar al menos un cambio en la citada topología de procesador virtual, y al menos un subsistema con lo que el citado paso de actualización es realizado por un dispositivo de virtualización asociado con la citada máquina virtual (108) que actualiza una posición de memo

ria compartida con una divulgación, y accediendo posteriormente el citado sistema operativo huésped (112) a la citada posición de memoria compartida, recuperando la divulgación, y aplicando la citada divulgación y en el que el citado sistema operativo huésped (112) proporciona un indicio acerca de las preferencias de asignación de recursos al citado dispositivo de virtualización mediante la actualización de la posición de memoria compartida con un indicio, y accediendo posteriormente el citado dispositivo de virtualización a la citada posición de memoria compartida, recuperando el indicio, y aplicando el citado indicio, en el que el sistema operativo huésped comprende un programador (604) de sistema operativo y la máquina virtual comprende un programador (614) de máquina virtual que programa la ejecución de los hilos de ejecución de la máquina virtual en varios procesadores lógicos del hardware físico a medida que tales procesadores lógicos se ponen a disposición de la máquina virtual, en el que la posición de memoria compartida es utilizada tanto por el programador (604) de sistema operativo huésped para proporcionar el indicio al programador (614) de máquina virtual y esta posición de memoria compartida es también utilizada por el programador (614) de máquina virtual para proporcionar la divulgación al programador (604) de sistema operativo huésped, y en el que el indicio es utilizado por el programador (614) de máquina virtual para asignar los recursos de procesadores actuales al citado sistema operativo huésped.

6. El sistema de la reivindicación 5, que comprende, además, al menos un subsistema mediante el cual el paso del citado sistema operativo huésped (112) accediendo posteriormente a la citada posición de memoria compartida se realiza de acuerdo con un programa o se realiza en respuesta a una interrupción generada por el citado emulador en la citada máquina virtual (108) .

7. El sistema de las reivindicaciones 5 - 6, que comprende, además, una señal de portadora electromagnética capaz de ser transmitida a través de un medio de comunicación.


 

Patentes similares o relacionadas:

Restauración de aceleración de servicio, del 10 de Junio de 2020, de Microsoft Technology Licensing, LLC: Un método para restaurar la aceleración del servicio para un servicio, el método que comprende: determinar que la aceleración del servicio para el […]

Ejecución del programa sobre plataforma heterogénea, del 29 de Abril de 2020, de UNIVERSITEIT GENT: Un método puesto en práctica por ordenador que comprende: - obtener un objeto de código informático intermedio que comprende, al menos, un […]

Método para determinar un tiempo de ejecución neto entre las etapas de un proceso de una instancia de proceso, del 22 de Abril de 2020, de Celonis SE: Metodo computarizado para determinar un tiempo de ejecucion neto entre las etapas de un proceso en un sistema informatico que tiene un procesador, en donde un dispositivo de memoria […]

Método para determinar los trayectos paralelos de proceso en los datos del proceso, del 22 de Abril de 2020, de Celonis SE: Metodo implementado por ordenador para determinar trayectos de proceso paralelos en los datos del proceso en un sistema informatico que tiene un procesador, en donde - los […]

Plataforma de seguridad gradual, del 8 de Abril de 2020, de Cyemptive Technologies, Inc: Un medio legible por ordenador no transitorio que almacena instrucciones para implementar seguridad gradual para un sistema que incluye un primer grupo […]

Renderización híbrida en procesamiento de gráficos, del 1 de Abril de 2020, de QUALCOMM INCORPORATED: Un procedimiento de procesamiento de gráficos, comprendiendo el procedimiento: realizar, con una unidad de procesamiento de gráficos (GPU), un pase de fragmento […]

Función de interrupción de seguimiento de advertencias, del 25 de Diciembre de 2019, de INTERNATIONAL BUSINESS MACHINES CORPORATION: Un sistema informático para facilitar el procesamiento en un entorno informático, comprendiendo dicho sistema informático: una memoria; y un procesador […]

Imagen de 'Gestión de comunicaciones'Gestión de comunicaciones, del 25 de Diciembre de 2019, de AMADEUS S.A.S.: Un sistema para terminales de operación remota que comprende: un servidor que comprende: una plataforma de virtualización de aplicaciones para virtualizar […]

Utilizamos cookies para mejorar nuestros servicios y mostrarle publicidad relevante. Si continua navegando, consideramos que acepta su uso. Puede obtener más información aquí. .