Entenda como uma CPU física é dividida em várias unidades virtuais

Qualquer que seja a sua ferramenta de virtualização, na hora de criar uma máquina virtual, com suas especificações e características de hardware, já se perguntou sobre o número ideal de CPUs virtuais a ser alocado a esta máquina virtual (VM)?

Já se preocupou com as limitações que este número impõe à quantidade de VMs no servidor?

Uma CPU física é simplesmente um núcleo (core) dentro do conjunto todo de componentes que formam um processador, com o suporte a execução de múltiplas threads desligado.

A Tecnologia Hyper-Threading, da Intel, permite que múltiplos encadeamentos sejam executados em cada núcleo.

Isto significa que um processador Xeon, com seis núcleos e multithreading desligado, irá oferecer o trabalho de seis CPUs fisicamente existentes.

Se o suporte ao multithreading (multi encadeamento) estiver ativado, o servidor irá ver cada um destes encadeamentos como uma CPU física. Assim, se cada um destes 6 núcleos tiver suporte a 2 encadeamentos, o servidor enxergará 12 núcleos de processamento.

Quando um hyperviser ou monitor de máquina virtual se encontra instalado, cada unidade física é abstraída em CPUs virtuais, o que basicamente consiste em dividir os ciclos disponíveis para cada núcleo — o que, por sua vez, permite a múltiplas VMs compartilhar o tempo de um dado núcleo de processador físico.

Comumente, o monitor de VMs designa uma carga de trabalho por CPU virtual (por núcleo).

Via de regra, cada CPU virtual pode suportar uma quantidade variável entre 4 e 8 máquinas virtuais.

Vamos supor limites muito prudentes de 4 VMs por CPU virtual.
Se o servidor oferece 2 processadores quad-core (o que dá um total de 8), a expectativa é de que tem o potencial de suportar 32 VMs (8 X 4 = 32).

No caso de ter 4 processadores quad-core instalados (num total de 16 núcleos), o potencial do servidor sobe para 64 VMs (16 X 4 = 64) ou mais.

Convém lembrar sempre, quanto maior a quantidade de VMs a compartilhar uma CPU virtual, menor é a quantidade de ciclos disponíveis para cada uma destas máquinas virtuais e mais penalizadas serão suas performances.

Se a carga de trabalho em um servidor precisar de mais ciclos de CPU, é melhor implementar menos máquinas virtuais por CPU.
Adicionalmente, você pode alocar várias CPUs virtuais a uma VM — só não exceda o número de processadores físicos presentes no servidor.

Se o servidor, por exemplo, tem apenas um soquete de processador, designe apenas uma CPU virtual por VM.
Havendo 2 processadores por soquete, atribua no máximo duas CPUs virtuais a cada VM e assim, por diante.

Referências

http://www.intel.com.br/content/www/br/pt/architecture-and-technology/hyper-threading/hyper-threading-technology.html

http://searchservervirtualization.techtarget.com/answer/How-is-a-physical-CPU-divided-into-multiple-virtual-CPUs?utm_medium=EM&asrc=EM_ERU_46872330&utm_campaign=20150828_ERU%20Transmission%20for%2008/28/2015%20%28UserUniverse:%201705526%29_myka-reports@techtarget.com&utm_source=ERU&src=5420646


Descubra mais sobre coisasdogeek.com.br

Assine para receber os posts mais recentes por e-mail.


Posted

in

,

by

Tags:

Descubra mais sobre coisasdogeek.com.br

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continue lendo