18 votos

¿Hay una manera de tener una máquina virtual sólo tiene un núcleo todavía utilizan tres núcleos de la máquina host?

Posibles Duplicados:
Puede un solo Núcleo Virtual en una máquina virtual usar más de 1 núcleo físico?

Soy co-propietario de un servidor de Minecraft que se está volviendo más grande cada día, pero a medida que se hacen más grandes se están ejecutando en los límites de Minecraft y la forma en que se codifica. El juego no está codificado para el uso de varios núcleos, en lugar de ello se utiliza un solo núcleo. Así que hablando con un amigo me sugirió ver si era posible tener una máquina virtual sólo tiene un núcleo virtual sin embargo, el uso de tres de los cuatro núcleos en el equipo host. He investigado un poco y parece que no puede encontrar ninguna respuesta. No importa si el sistema operativo del ordenador es Windows o Linux, yo sólo soy curioso en cuanto a si se puede hacer.

Si se puede hacer o se hace automáticamente, puede proporcionar enlaces por lo que puedo leer sobre esto y aprender más... soy nuevo en máquinas virtuales vaya tan fácil.

38voto

Janne Pikkarainen Puntos 22249

Nueve mujeres son incapaces de producir a un bebé en un mes. Lo sentimos, al menos por ahora es imposible pegar CPUs en ambiente VM. Pero eso es una idea interesante!

8voto

cfi Puntos 206

A partir de hoy una respuesta a todo, parece ser correcto: No hay manera de hacerlo.

Me gustaría añadir un poco de carne a esas declaraciones:

De Wikipedia sobre "la paralelización automática".

La paralelización automática sería el proceso de tomar un determinado algoritmo de serie y tratar de encontrar secuencias de comandos que puede ser ejecutado en paralelo, a continuación, la programación y el despacho de las secuencias de los disponibles (de hardware: cpu) de los recursos y, a continuación, unirse a el resultado (=datos) de nuevo para su posterior procesamiento.

El problema no sólo está en la búsqueda de secuencias que no dependen unos de otros y, por tanto, capaz que se está trabajando en paralelo. Pero también la sobrecarga de la comunicación puede resultar prohibitivo. Piense acerca de su problema en particular donde el Minecraft mundo se va a dividir de alguna manera en las distintas cpus: Si usted divide el mundo geométricamente, digamos en := 9 bloques, a continuación, en las fronteras de los distintos sub mundos necesario el cambio de cualquier mundo modificaciones o los movimientos de los habitantes.

Mientras que el anterior es un típico "divide y vencerás", y la geométrica división de un problema es una solución generalizada para la paralelización, es normalmente handcoded, haciendo uso de los conocimientos que el problema del diseñador, en este caso, el desarrollador del juego ha.

Su idea propuesta implicaría algunos de automatización de un algoritmo que es completamente desconocido, debido a la virtual "hyper" servidor no tiene forma de saber cómo Minecraft internamente se comporta. Así que el único ángulo a este problema es la ejecución de código ensamblador. A este bajo nivel es muy difícil - y en la actualidad parece ser imposible llegar a una solución que tiene mérito alguno.

Google puede buscar publicaciones científicas en estos días. Y si usted está realmente interesado me gustaría vistazo a las publicaciones en conferencias relacionadas con el. Organizaciones tales como el IEEE y la ACM pueden ser buenos puntos de partida para que.

8voto

TomTom Puntos 38586

No. Punto. Por arte de magia no se puede hacer un super núcleo de núcleos físicos. Hyper-viseras pueden no reqire su núcleo.

6voto

yulia Puntos 16

No hay ningún hypervisor (al menos que yo soy consciente de) que puede f.e. tomar dos CPU de 2 GHz y crear un virtual 4-Ghz CPU fuera de ellos.

4voto

MDMarra Puntos 81543

No.

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: