O que é virtualização paralela?

O que é virtualização paralela?

Estou tentando entender quais tipos de virtualização existem e para auxiliar nessa tarefa, encontrei um livro de Dijiang Huang e Huijun Wu, Mobile Cloud Computing.

As passagens postadas abaixo também estão disponíveis no Google Livros:https://books.google.com/books?id=dupGDgAAQBAJ.

Da seção 2.2.3, tabela 2.2, página 42:

HAL (completo)

  • Descrição:Um hipervisor fornece uma VM completa (da mesma arquitetura de computação do host) permitindo que convidados não modificados sejam executados isoladamente.
  • Vantagens:Flexibilidade na execução de diferentes versões de diferentes sistemas operacionais de vários fornecedores.
  • Desvantagens:O sistema operacional convidado não sabe que está sendo virtualizado; pode incorrer em um impacto considerável no desempenho de hardware comum, especialmente para aplicativos com uso intensivo de E/S.

HAL (Paralelo)

  • Descrição:Um hipervisor fornece uma VM completa, mas especializada (da mesma arquitetura de computação do host) para cada convidado, permitindo que convidados modificados sejam executados isoladamente.
  • Vantagens:Leve e rápido, próximo às velocidades nativas; demonstrou operar na faixa de sobrecarga de 0,5-3,0%; permite que o sistema operacional coopere com um hipervisor - melhora o IO e o agendamento de recursos; permite virtualizar arquiteturas que não suportam virtualização completa.
  • Desvantagens:Requer portabilidade do sistema operacional convidado para usar hiperchamadas em vez de instruções confidenciais. A principal limitação da virtualização paralela é que o sistema operacional convidado deve ser adaptado especificamente para ser executado no monitor VM (VMM), o programa host que oferece suporte a vários ambientes de execução idênticos. Isso afeta especialmente sistemas operacionais legados de código fechado que ainda não implementaram extensões virtualizadas paralelas.

Aqui, a “virtualização paralela” parece sinônimo de “paravirtualização”. (Nunca ouvi o termo “virtualização paralela” antes de ler o livro. O termo “paravirtualização”, por outro lado, é bem conhecido na Internet.)

Porém, na seção 2.2.2, página 39, o livro parece contradizer a passagem anterior:

Na terceira classificação de virtualização apresentada na Seção 2.2.3, apresentaremos duas das soluções de virtualização baseadas em HAL mais populares, ou seja, virtualização paralela (ou bare-metal, ou virtualização Tipo 1) e virtualização baseada em host (ou virtualização Tipo 1). -2 virtualização), em detalhes.

Ou seja, para resumir:

  • Seção 2.2.3: Virtualização paralela é o mesmo que paravirtualização.
  • Seção 2.2.2: A virtualização paralela é igual à virtualização bare-metal (também conhecida como Tipo 1).
  • No entanto, como eu sei, a paravirtualização e a virtualização bare-metal (também conhecida como Tipo 1) são duas coisas diferentes. Não é a mesma coisa.

Questões:

  • É verdade que a segunda passagem contradiz a primeira?
  • É verdade que a paravirtualização e a virtualização bare-metal (também conhecida como Tipo 1) são duas coisas diferentes?
  • Você concorda que a passagem da página 42 está correta e a passagem da página 39 énãocorreto? Como você explicaria a passagem da página 39?

Responder1

É verdade que a paravirtualização e a virtualização bare-metal (também conhecida como Tipo 1) são duas coisas diferentes?

A otimização de convidados para eliminar camadas de abstração é uma dimensão diferente de se o hipervisor estivesse no topo de um sistema operacional de uso geral.

QEMU é um emulador. Adicione o KVM e a aceleração de hardware reduz a sobrecarga ao mínimo, tornando-o efetivamente do tipo 1. Além disso, o KVM possui drivers convidados paravirtualizados. No entanto, tanto o QEMU quanto o KVM estão sendo executados em sistemas operacionais de uso geral; você pode executar aplicativos arbitrários em seus hosts virtuais.

Hiper-Vexecuta acesso direto ao hardware por meio de uma partição raiz privilegiada executando o Windows. Parece o tipo 2. No entanto, as camadas entre convidados e hardware são mínimas, você não pode executar processos de usuário fora das partições do Hyper-V.

Desenhar um diagrama das camadas de abstração pode ajudar. As implementações não são classificadas tão bem em categorias binárias como sugere o tipo 1 versus o tipo 2. Essas categorias não medem necessariamente considerações práticas, como sobrecarga em comparação com bare metal, ou a segurança e a capacidade de manutenção de um hipervisor simples.


O uso inicial do termo para-virtualização aparece noArtigo Denali da Universidade de Washington. Pelo menos, umPapel Xencita Denali como criador do termo. Não consigo encontrar nenhuma evidência de sua origem em “paralelo”. Possivelmente, pretendia-se invocar os significados de “ao lado” e “auxiliar” do prefixo para-.

informação relacionada