Introdução ao teste de benchmark de virtualização
Ambientes de virtualização têm sido commodities quentes para o usuário de Mac desde que a Apple começou a usar processadores Intel em seus computadores. Mesmo antes de a Intel chegar, o software de emulação já estava disponível, permitindo que os usuários do Mac executassem o Windows e Linux.
Mas a emulação era lenta, usando uma camada de abstração para traduzir o código de programação x86 para o código usado pela arquitetura PowerPC de Macs anteriores. Essa camada de abstração não apenas teve que ser traduzida para o tipo de CPU, mas também para todos os componentes de hardware. Em essência, a camada de abstração teve que criar equivalentes de software de placas de video, Discos rígidos, portas seriaisetc. O resultado foi um ambiente de emulação que podia rodar Windows ou Linux, mas era severamente restrito tanto no desempenho quanto no sistemas operacionais que poderia ser usado.
Com o advento da decisão da Apple de usar processadores Intel, toda a necessidade de emulação foi eliminada. Em seu lugar, veio a capacidade de executar outros sistemas operacionais diretamente em um Mac Intel. Se você deseja executar o Windows diretamente em um Mac como uma opção na inicialização, você pode usar
Mas muitos usuários precisam de uma maneira de executar o Mac OS e um segundo sistema operacional simultaneamente. Parallels, e mais tarde VMWare e Sun, trouxeram esse recurso para o Mac com tecnologia de virtualização. A virtualização é semelhante em conceito à emulação, mas como os Macs baseados em Intel usam o mesmo hardware que os PCs padrão, não há necessidade de criar uma camada de abstração de hardware no software. Em vez disso, o software Windows ou Linux pode ser executado diretamente no hardware, produzindo velocidades que podem ser quase tão rápidas quanto se o sistema operacional convidado estivesse sendo executado no PC.
E essa é a pergunta que nossos testes de benchmarks procuram responder. Os três principais participantes da virtualização no Mac - Parallels Desktop para Mac, VMWare Fusion e Sun VirtualBox - cumprem a promessa de desempenho quase natural?
Dizemos "quase natural" porque todos os ambientes de virtualização têm alguma sobrecarga que não pode ser evitada. Como o ambiente virtual está sendo executado ao mesmo tempo que o SO 'integrado' (OS X, agora macOS), deve haver compartilhamento de recursos de hardware. Além disso, o OS X deve fornecer alguns serviços para o ambiente de virtualização, como janelas e serviços principais. A combinação desses serviços e compartilhamento de recursos tende a limitar o quão bem o sistema operacional virtualizado pode ser executado.
Para responder à pergunta, vamos realizar testes de benchmark para ver como os três principais ambientes de virtualização se saem com o Windows.
01
de 06
Método de Teste
Vamos usar dois conjuntos de testes de benchmark de plataforma cruzada diferentes e populares. O primeiro, CineBench 10, realiza um teste real da CPU de um computador e da capacidade de sua placa gráfica de renderizar imagens. O primeiro teste usa a CPU para renderizar uma imagem fotorrealística, usando cálculos intensivos da CPU para renderizar reflexos, ocultação do ambiente, iluminação e sombreamento de área e muito mais. O teste é realizado com uma única CPU ou núcleo e, em seguida, repetido usando todas as CPUs e núcleos disponíveis. O resultado produz um grau de desempenho de referência para o computador usando um único processador, um grau para todas as CPUs e núcleos e uma indicação de quão bem múltiplos núcleos ou CPUs são utilizadas.
O segundo teste CineBench avalia o desempenho da placa gráfica do computador usando OpenGL para renderizar uma cena 3D enquanto uma câmera se move dentro da cena. Este teste determina o quão rápido a placa de vídeo pode funcionar enquanto ainda renderiza a cena com precisão.
O segundo conjunto de testes é GeekBench 2.1.4, que testa o desempenho de ponto flutuante e inteiro do processador, testa a memória usando um teste de desempenho de leitura / gravação simples e executa um teste de fluxo que mede a largura de banda de memória sustentada. Os resultados do conjunto de testes são combinados para produzir uma única pontuação do GeekBench. Também vamos dividir os quatro conjuntos de teste básicos (desempenho inteiro, desempenho de ponto flutuante, memória Desempenho e desempenho de fluxo), para que possamos ver os pontos fortes e fracos de cada ambiente.
GeekBench usa um sistema de referência baseado em um PowerMac G5 @ 1,6 GHz. As pontuações do GeekBench para os sistemas de referência são normalizadas para 1000. Qualquer pontuação acima de 1000 indica um computador com desempenho melhor do que o sistema de referência.
Como os resultados de ambos os conjuntos de benchmarks são um tanto abstratos, começaremos definindo um sistema de referência. Neste caso, o sistema de referência será o host Mac sendo usado para executar os três ambientes virtuais (Parallels Desktop para Mac, VMWare Fusione Sun Virtual Box). Executaremos os dois conjuntos de benchmark no sistema de referência e usaremos essa figura para comparar o desempenho dos ambientes virtuais.
Todos os testes serão realizados após uma nova inicialização do sistema host e do ambiente virtual. Os ambientes host e virtual terão todos os aplicativos anti-malware e antivírus desabilitados. Todos os ambientes virtuais serão executados em uma janela OS X padrão, pois este é o método mais comum usado em todos os três ambientes. No caso dos ambientes virtuais, nenhum aplicativo de usuário será executado além dos benchmarks. No sistema host, exceto no ambiente virtual, nenhum aplicativo de usuário será executado, exceto um editor de texto para fazer anotações antes e depois do teste, mas nunca durante o processo de teste real.
02
de 06
Resultados de benchmark para Host System Mac Pro
O sistema que hospedará os três ambientes virtuais (Parallels Desktop for Mac, VMWare Fusion e Sun VirtualBox) é uma edição de 2006 de um Mac Pro:
Mac Pro (2006)
- Dois processadores Dual-core 5160 Zeon (4 núcleos no total) @ 3,00 GHz
- 4 MB por núcleo L2 cache RAM (16 MB no total)
- 6 GB de RAM consistindo em quatro módulos de 1 GB e quatro módulos de 512 MB. Todos os módulos são pares combinados.
- Um barramento frontal de 1,33 GHz
- Uma placa gráfica NVIDIA GeForce 7300 GT
- Dois discos rígidos Samsung F1 Series de 500 GB. OS X e o software de virtualização residem na unidade de inicialização; os sistemas operacionais convidados são armazenados na segunda unidade. Cada unidade tem seu próprio canal SATA 2 independente.
Os resultados dos testes GeekBench e CineBench no host Mac Pro devem fornecer o limite superior prático de desempenho que devemos ver em qualquer um dos ambientes virtuais. Dito isso, queremos salientar que é possível que um ambiente virtual exceda o desempenho do host em qualquer teste único. O ambiente virtual pode ser capaz de acessar o hardware subjacente e ignorar algumas das camadas do sistema operacional do OS X. Também é possível que os conjuntos de testes de benchmark sejam enganados pelo sistema de cache de desempenho construído em ambientes virtuais e produz resultados que estão muito além do potencial atuação.
Pontuações de referência
GeekBench 2.1.4
- Pontuação do GeekBench: 6830
- Inteiro: 6799
- Ponto Flutuante: 10786
- Memória: 2349
- Stream: 2057
CineBench R10
- Renderização, CPU única: 3248
- Renderização, 4 CPU: 10470
- Aceleração efetiva de um único para todos os processadores: 3,22
- Sombreamento (OpenGL): 3249
Os resultados detalhados dos testes de benchmark estão disponíveis na galeria Virtualization Benchmark Test.
03
de 06
Resultados de benchmark para Parallels Desktop para Mac 5
Usamos a versão mais recente do Parallels (Parallels Desktop for Mac 5.0). Instalamos novas cópias do Parallels, Windows XP SP3, e Windows 7. Escolhemos esses dois sistemas operacionais Windows para teste porque pensamos Windows XP representa a grande maioria das instalações atuais do Windows no OS X e que, no futuro, o Windows 7 será o sistema operacional convidado mais comum em execução no Mac.
Antes do início dos testes, verificamos e instalamos todas as atualizações disponíveis para o ambiente virtual e os dois sistemas operacionais Windows. Depois que tudo estava atualizado, configuramos as máquinas virtuais do Windows para usar um único processador e 1 GB de memória. Desligamos o Parallels e desabilitamos o Time Machine e todos os itens de inicialização do Mac Pro desnecessários para o teste. Em seguida, reiniciamos o Mac Pro, iniciamos o Parallels, iniciamos um dos ambientes Windows e executamos os dois conjuntos de testes de benchmark. Assim que os testes foram concluídos, copiamos os resultados para o Mac para referência posterior.
Em seguida, repetimos a reinicialização e o lançamento do Parallels para os testes de benchmark do segundo sistema operacional Windows.
Finalmente, repetimos a sequência acima com o sistema operacional convidado configurado para usar 2 e, em seguida, 4 CPUs.
Pontuações de referência
GeekBench 2.1.4
- Windows XP SP3 (1,2,4 CPU): 2185, 3072, 4377
- Windows 7 (1,2,4 CPU): 2223, 2980, 4560
CineBench R10
- Windows XP SP3
- Renderização (1,2,4 CPU): 2724, 5441, 9644
- Sombreamento (OpenGL) (1,2,4 CPU): 1317, 1317, 1320
CineBench R10
- Windows 7
- Renderização (1,2,4 CPU): 2835, 5389, 9508
- Sombreamento (OpenGL) (1,2,4 CPU): 1335, 1333, 1375
O Parallels Desktop for Mac 5.0 completou todos os testes de benchmark. O GeekBench viu apenas pequenas diferenças no desempenho entre o Windows XP e o Windows 7, que é o que esperávamos. GeekBench se concentra em um processador de teste e desempenho de memória, então esperamos que seja um bom indicador do desempenho subjacente do ambiente virtual e quão bem ele disponibiliza o hardware do Mac Pro host para o convidado SOs.
O teste de renderização do CineBench também mostrou consistência entre os dois sistemas operacionais Windows. Mais uma vez, isso é esperado, uma vez que o teste de renderização faz uso extensivo dos processadores e da largura de banda da memória vista pelos sistemas operacionais convidados. O teste de sombreamento é um bom indicador de quão bem cada ambiente virtual implementou seu driver de vídeo. Ao contrário do resto do hardware do Mac, a placa gráfica não é disponibilizada diretamente para os ambientes virtuais. Isso ocorre porque a placa gráfica deve cuidar continuamente da exibição do ambiente host e não pode ser desviada para exibir apenas o ambiente convidado. Isso é verdadeiro mesmo se o ambiente virtual oferecer uma opção de exibição em tela inteira.
Os resultados detalhados dos testes de benchmark estão disponíveis na galeria Virtualization Benchmark Test.
04
de 06
Resultados de referência para VMWare Fusion 3.0
Usamos a versão mais recente do VMWare Fusion (Fusion 3.0). Instalamos novas cópias do Fusion, Windows XP SP3 e Windows 7. Escolhemos esses dois sistemas operacionais Windows para teste porque acreditamos que o Windows XP representa a grande maioria dos Instalações do Windows no OS X e que, no futuro, o Windows 7 será o sistema operacional convidado mais comum em execução no Mac.
Antes do início dos testes, verificamos e instalamos todas as atualizações disponíveis para o ambiente virtual e os dois sistemas operacionais Windows. Depois que tudo estava atualizado, configuramos as máquinas virtuais do Windows para usar um único processador e 1 GB de memória. Encerramos o Fusion e desabilitamos o Time Machine e todos os itens de inicialização do Mac Pro desnecessários para o teste. Em seguida, reiniciámos o Mac Pro, lançamos o Fusion, iniciamos um dos ambientes Windows e executamos os dois conjuntos de testes de benchmark. Assim que os testes foram concluídos, copiamos os resultados para o Mac para uso posterior.
Em seguida, repetimos a reinicialização e o lançamento do Fusion para os testes de benchmark do segundo sistema operacional Windows.
Finalmente, repetimos a sequência acima com o sistema operacional convidado configurado para usar 2 e, em seguida, 4 CPUs.
Pontuações de referência
GeekBench 2.1.4
- Windows XP SP3 (1,2,4 CPU): *, 3252, 4406
- Windows 7 (1,2,4 CPU): 2388, 3174, 4679
CineBench R10
- Windows XP SP3
- Renderização (1,2,4 CPU): 2825, 5449, 9941
- Sombreamento (OpenGL) (1,2,4 CPU): 821, 821, 827
CineBench R10
- Windows 7
- Renderização (1,2,4 CPU): 2843, 5408, 9657
- Sombreamento (OpenGL) (1,2,4 CPU): 130, 130, 124
Tivemos problemas com o Fusion e os testes de benchmark. No caso do Windows XP com um único processador, o GeekBench relatou o desempenho do fluxo de memória a uma taxa melhor do que 25 vezes a taxa do host Mac Pro. Este resultado de memória incomum bateu a pontuação do GeekBench para a versão de CPU única do Windows XP para 8148. Depois de repetir o teste várias vezes e obter resultados semelhantes, decidimos marcar o teste como inválido e considerá-lo um problema de interação entre o teste de benchmark, Fusion e Windows XP. Até onde podemos dizer, para a configuração de CPU única, o Fusion não estava relatando a configuração de hardware correta para o aplicativo GeekBench. No entanto, GeekBench e Windows XP funcionaram perfeitamente com duas ou mais CPUs selecionadas.
Também tivemos um problema com Fusion, Windows 7 e CineBench. Quando rodamos o CineBench no Windows 7, ele relatou uma placa de vídeo genérica como o único hardware gráfico disponível. Embora a placa de vídeo genérica fosse capaz de rodar OpenGL, ela o fazia a uma taxa abismal. Isso pode ter sido o resultado do host Mac Pro ter uma placa de vídeo NVIDIA GeForce 7300 antiga. Os requisitos de sistema do Fusion sugerem uma placa de vídeo mais moderna. Achamos interessante, no entanto, que no Windows XP, o teste de sombreamento CineBench foi executado sem problemas.
Além das duas peculiaridades mencionadas acima, o desempenho do Fusion estava no mesmo nível que esperávamos de um ambiente virtual bem projetado.
Os resultados detalhados dos testes de benchmark estão disponíveis na galeria Virtualization Benchmark Test.
05
de 06
Resultados de benchmark para Sun VirtualBox
Usamos a versão mais recente do Sun VirtualBox (VirtualBox 3.0). Instalamos novas cópias do VirtualBox, Windows XP SP3 e Windows 7. Escolhemos esses dois sistemas operacionais Windows para teste porque acreditamos que o Windows XP representa a grande maioria dos Instalações do Windows no OS X e que, no futuro, o Windows 7 será o sistema operacional convidado mais comum em execução no Mac.
Antes do início dos testes, verificamos e instalamos todas as atualizações disponíveis para o ambiente virtual e os dois sistemas operacionais Windows. Depois que tudo estava atualizado, configuramos as máquinas virtuais do Windows para usar um único processador e 1 GB de memória. Encerramos o VirtualBox e desabilitamos o Time Machine e todos os itens de inicialização do Mac Pro desnecessários para o teste. Em seguida, reiniciamos o Mac Pro, iniciamos o VirtualBox, iniciamos um dos ambientes Windows e executamos os dois conjuntos de testes de benchmark. Assim que os testes foram concluídos, copiamos os resultados para o Mac para uso posterior.
Em seguida, repetimos a reinicialização e o lançamento do Fusion para os testes de benchmark do segundo sistema operacional Windows.
Finalmente, repetimos a sequência acima com o sistema operacional convidado configurado para usar 2 e, em seguida, 4 CPUs.
Pontuações de referência
GeekBench 2.1.4
- Windows XP SP3 (1,2,4 CPU): 2345, *, *
- Windows 7 (1,2,4 CPU): 2255, 2936, 3926
CineBench R10
- Windows XP SP3
- Renderização (1,2,4 CPU): 7001, *, *
- Sombreamento (OpenGL) (1,2,4 CPU): 1025, *, *
CineBench R10
- Windows 7
- Renderização (1,2,4 CPU): 2570, 6863, 13344
- Sombreamento (OpenGL) (1,2,4 CPU): 711, 710, 1034
O Sun VirtualBox e nossos aplicativos de teste de bancada foram executados em um problema com o Windows XP. Especificamente, tanto GeekBench quanto CineBench foram incapazes de ver mais de uma única CPU, independentemente de como configuramos o sistema operacional convidado.
Quando testamos o Windows 7 com o GeekBench, notamos que a utilização de multiprocessador era inadequada, resultando nas pontuações mais baixas para configurações de 2 e 4 CPU. O desempenho de um único processador parecia estar no mesmo nível dos outros ambientes virtuais.
O CineBench também não conseguiu ver mais do que um único processador ao executar o Windows XP. Além disso, o teste de renderização para a versão de CPU única do Windows XP produziu um dos resultados mais rápidos, superando até mesmo o próprio Mac Pro. Tentamos executar o teste novamente algumas vezes; todos os resultados estavam dentro do mesmo intervalo. Achamos que é seguro atribuir os resultados de renderização de CPU única do Windows XP a um problema com o VirtualBox e como ele usa CPUs.
Também vimos um aumento estranho nos resultados de renderização para 2 e 4 testes de CPU com Windows 7 e, em cada caso, a renderização mais do que dobrou de velocidade ao ir de 1 para 2 CPUs e de 2 a 4 CPUs. Este tipo de aumento de desempenho é improvável e, mais uma vez, iremos atribuí-lo à implementação do VirtualBox de múltiplas CPUs Apoio, suporte.
Com todos os problemas com o teste de benchmark do VirtualBox, os únicos resultados de teste válidos podem ser aqueles para uma única CPU no Windows 7.
Os resultados detalhados dos testes de benchmark estão disponíveis na galeria Virtualization Benchmark Test.
06
de 06
Os resultados
Com todos os testes de benchmark feitos, é hora de revisitar nossa pergunta original.
Os três principais participantes da virtualização no Mac (Parallels Desktop para Mac, VMWare Fusion e Sun VirtualBox) cumprem a promessa de desempenho quase natural?
A resposta é uma mescla. Nenhum dos candidatos de virtualização em nossos testes GeekBench foi capaz de medir o desempenho do Mac Pro host. O melhor resultado foi registrado pelo Fusion, que conseguiu atingir quase 68,5% do desempenho do host. Os paralelos ficaram logo atrás em 66,7%. Na retaguarda veio o VirtualBox, com 57,4%.
Quando olhamos os resultados do CineBench, que usa um teste mais do mundo real para renderizar imagens, eles ficaram muito próximos da pontuação do host. Mais uma vez, o Fusion estava no topo dos testes de renderização, alcançando 94,9% do desempenho do host. Os paralelos seguiram em 92,1%. O VirtualBox não conseguiu completar o teste de renderização de forma confiável, tirando-o da contenção. Em uma iteração do teste de renderização, o VirtualBox relatou que teve um desempenho 127,4% melhor do que o host, enquanto em outras, não foi possível iniciar ou terminar.
O teste de sombreamento, que analisa o desempenho da placa de vídeo usando OpenGL, foi o pior entre todos os ambientes virtuais. O melhor desempenho foi o Parallels, que atingiu 42,3% das capacidades do host. VirtualBox ficou em segundo lugar com 31,5%; A fusão ficou em terceiro lugar, com 25,4%.
A escolha de um vencedor geral é algo que deixaremos para o usuário final. Cada produto tem seus prós e seus contras e, em muitos casos, os números de referência são tão próximos que repetir os testes pode alterar a classificação.
O que os resultados dos testes de benchmark mostram é que, universalmente, a capacidade de fazer uso da placa de vídeo é o que impede o ambiente virtual de ser um substituto completo para um PC dedicado. Dito isso, uma placa de vídeo mais moderna do que a que temos aqui poderia produzir números de desempenho mais elevados no teste de sombreamento, especialmente para Fusion, cujo desenvolvedor sugere placas gráficas de alto desempenho para melhor resultados.
Você notará que algumas combinações de teste (ambiente virtual, versão do Windows e teste de benchmark) exibiram problemas, tanto resultados irreais quanto falha na conclusão de um teste. Esses tipos de resultados não devem ser usados como indicadores de problemas com um ambiente virtual. Os testes de referência são aplicativos incomuns para tentar executar em um ambiente virtual. Eles são projetados para medir o desempenho de dispositivos físicos, que o ambiente virtual pode não permitir o acesso. Isso não é uma falha do ambiente virtual e, em uso no mundo real, não tivemos problemas com a grande maioria dos aplicativos do Windows executados em um sistema virtual.
Todos os ambientes virtuais que testamos (Parallels Desktop for Mac 5.0, VMWare Fusion 3.0 e Sun VirtualBox 3.0) fornecem excelentes desempenho e estabilidade no uso diário e deve ser capaz de servir como seu ambiente Windows principal para a maior parte do dia-a-dia formulários.