O suporte de TI aberto impulsionará a adoção do SIOV?


A virtualização tem sido um impulsionador de eficiência no setor de TI nas últimas duas décadas, separando as cargas de trabalho do hardware subjacente e, assim, permitindo que várias cargas de trabalho sejam consolidadas em um único sistema físico e movidas com facilidade.

É difícil imaginar como os data centers de hiperescala de hoje teriam se desenvolvido sem os hipervisores de virtualização de servidor e seus contêineres de software adicionais e às vezes complementares.

Um aspecto da virtualização que geralmente é negligenciado é a E/S, ou como lidar com dispositivos de hardware em um sistema virtualizado. Se houver várias máquinas virtuais em execução em um servidor, como você permite que cada uma acesse a rede, por exemplo, quando pode haver apenas uma interface de rede física?

Nos primeiros dias dos hipervisores e máquinas virtuais X86, isso era feito por meio de emulação de software, apresentando cada máquina virtual com sua própria NIC virtual, enquanto várias camadas de software lidavam com toda a complexidade. Essa abordagem acabou sendo um gargalo para o desempenho de E/S, além de roubar ciclos de CPU do processador host, o que afetou o número de máquinas virtuais que ele poderia executar.

Uma solução para essa sobrecarga foi a Virtualização de E/S de Raiz Única, ou SR-IOV, desenvolvida pela Intel e adquirida pela PCI-SIG, que definiu extensões para a especificação de periféricos PCI-Express que permitia o aparecimento de um dispositivo de hardware PCI. . ser vários dispositivos PCI-Express separados. Cada dispositivo físico pode suportar até 256 funções virtuais, o que significa que, em teoria, uma placa de interface de rede (ou NIC) no barramento PCI-Express pode suportar até 256 NICs virtuais. Na prática, cada função virtual requer recursos de hardware reais no silício, portanto, o número de funções virtuais implementadas em dispositivos de produção tende a ser muito menor.

Uma abordagem mais atualizada, também desenvolvida pela Intel, é a virtualização de E/S escalável. Uma especificação técnica inicial para isso foi publicada em 2018, mas agora a Intel e a Microsoft contribuíram com especificações SIOV finalizadas para o Open Compute Project, abrindo-o para fornecedores que fornecem o equipamento para operadores de data center em hiperescala.

Isso é significativo porque, como a próxima plataforma Uma vez calculado, o kit compatível com OCP possivelmente representou cerca de 25% das 11,7 milhões de remessas de servidores em 2019, mas também, onde os hiperescaladores vão, o restante do mercado de data centers tende a seguir mais tarde.

Como o próprio nome sugere, Scalable I/O Virtualization (SIOV) foi projetado para operar em uma escala maior que o SR-IOV, para atender às demandas de novos modelos de computação populares, como contêineres de software e computação sem servidor (também conhecida como computação sem servidor). funções como um -service) que geralmente exigem centenas ou milhares de instâncias em execução no mesmo sistema, em vez de algumas dezenas de máquinas virtuais.

De acordo com Ronak Singhal, membro sênior e arquiteto-chefe de tecnologia e roteiro Xeon da Intel, o SIOV consegue isso movendo grande parte da lógica do dispositivo (conforme definido na especificação SR-IOV) para a pilha de virtualização (no sistema host). “Além disso, o SIOV oferece maior capacidade de composição de software de instâncias de dispositivo virtual, mantendo os benefícios de desempenho do acesso direto ao hardware do dispositivo”, disse Singhal.

Um VDCM pode ser implementado no sistema operacional (esquerda) ou em um controlador embutido (direita)

Na verdade, olhar para as especificações mostra que isso é alcançado pelo SIOV separando as funções de gerenciamento e configuração em um módulo de composição de dispositivo virtual (VDCM) para maior flexibilidade. Os acessos entre uma máquina virtual e um dispositivo de hardware são definidos como “caminho direto” ou “caminho de interceptação”, e as operações de caminho direto são mapeadas diretamente para o hardware do dispositivo subjacente para aumentar o desempenho. As operações de rota interceptadas são aquelas tratadas pelo VDCM.

Os acessos de caminho interceptado normalmente incluem funções de gerenciamento como inicialização, controle, configuração, tratamento de QoS de qualidade de serviço e processamento de erros, enquanto os acessos de caminho direto normalmente incluem operações de caminho de dados.

Curiosamente, as especificações afirmam que o recurso VDCM pode ser implementado no sistema operacional host ou em um gerenciador de máquina virtual (VMM), ou implementado como parte de um controlador embutido discreto implementado na plataforma.

Na verdade, as especificações também afirmam que cada sistema operacional ou VMM pode exigir que o VDCM seja implementado de uma maneira específica, como ser empacotado como módulos de espaço do usuário ou bibliotecas que são instaladas como parte do driver do software host.

Essa separação do VDCM dos dispositivos de hardware permite que as funções virtualizadas em cada dispositivo sejam mais simples, permitindo maior escalabilidade e flexibilidade com menor custo e complexidade de hardware, de acordo com a Intel. O resultado deve ser um desempenho de E/S quase nativo entregue a cada máquina virtual, contêiner ou microsserviço que oferece suporte a essas funções virtualizadas.

A especificação define uma interface de dispositivo atribuível (ADI) como o conjunto de recursos no dispositivo de hardware que são configurados e atribuídos juntos como uma unidade discreta para implementar uma função virtualizada, tornando uma ADI a unidade de compartilhamento de dados. Exemplos de ADI podem incluir as filas de transmissão e recebimento associadas a uma NIC virtual no caso de um controlador de rede ou as filas de comando de envio e conclusão no caso de um controlador de armazenamento.

A escalabilidade também é auxiliada por um novo identificador como parte do padrão SIOV, chamado Process Address Space Identifiers (PASIDs). Eles são usados ​​para identificar diferentes ADIs e apontar para o espaço de endereço de destino da transação com um PASID de 20 bits.

Arquitetura SIOV mostrando chamadas interceptadas para o VDCM, enquanto as chamadas diretas vão para o dispositivo de hardware

Enquanto isso, um VDEV é uma instância de dispositivo virtual que é exposta a uma máquina virtual específica e é atribuída a uma ADI específica dentro do dispositivo físico pelo VDCM quando o VDEV é configurado.

O SIOV foi criado com a intenção de oferecer suporte a todos os usos atuais do SR-IOV e muito mais, e com mais suporte ao ecossistema, ele tem o potencial de substituir o SR-IOV, de acordo com a Intel. Por enquanto, SIOV e SR-IOV podem coexistir em um servidor, com uma mistura de alguns dispositivos de hardware usando SR-IOV enquanto outros usam SIOV. Um único dispositivo de hardware usando ambas as especificações não é sugerido, mas é tecnicamente possível.

De acordo com a Intel, o SIOV suportará seus próximos SPs Xeon “Sapphire Rapids”, atualmente esperados para o segundo semestre deste ano, bem como os próprios controladores de rede Ethernet 800 da Intel e futuros PCI-Express e Compute Express. Dispositivos de link (CXL) e aceleradores.

A Intel também disse que o trabalho de atualização do suporte ao kernel do Linux está em andamento com uma integração prevista para o final de 2022.

Mas o apoio de outros provedores também será essencial para o SIOV decolar. Perguntamos à Intel quantos fornecedores ou dispositivos ela sabia que estão em produção ou em breve, mas a empresa apenas respondeu: “Sabemos de terceiros que estão procurando adoção. Como parte da contribuição do OCP, incentivamos os fornecedores que apoiam o SIOV a se registrarem como fornecedores do SIOV OCP e divulgarem seu apoio ao ecossistema.”

No entanto, uma vez que o SIOV oferece suporte aos processadores Intel Xeon, provavelmente será apenas uma questão de tempo até que o suporte se estenda ao restante do ecossistema de hardware do servidor. Se acreditarmos na Intel, isso fornecerá um caminho para permitir E/S acelerada e de alto desempenho para IA avançada, análises e outras cargas de trabalho virtuais exigentes que são cada vez mais comuns em data centers.

Leave a Comment