Home Empreendimento Mãos à obra com o iniciador StarWind NVMe-oF para Windows

Mãos à obra com o iniciador StarWind NVMe-oF para Windows

by Brian Beeler

O Windows é ótimo para muitas coisas, há uma razão para ser o sistema operacional número um do mundo. Dito isso, não é perfeito, especialmente quando se trata de adotar novos padrões de armazenamento. Como tal, há uma grande oportunidade para empresas empreendedoras desenvolverem soluções para lojas Windows. Como os SSDs NVMe continuam a dominar a empresa, tornando-se o padrão para armazenamento de servidor SSD, há uma demanda crescente para poder compartilhar esse armazenamento. Infelizmente, no Windows, isso é um problema, até recentemente. No início deste ano, a StarWind comercializou um iniciador NVMe-oF para Windows.

O Windows é ótimo para muitas coisas, há uma razão para ser o sistema operacional número um do mundo. Dito isso, não é perfeito, especialmente quando se trata de adotar novos padrões de armazenamento. Como tal, há uma grande oportunidade para empresas empreendedoras desenvolverem soluções para lojas Windows. Como os SSDs NVMe continuam a dominar a empresa, tornando-se o padrão para armazenamento de servidor SSD, há uma demanda crescente para poder compartilhar esse armazenamento. Infelizmente, no Windows, isso é um problema, até recentemente. No início deste ano, a StarWind comercializou um iniciador NVMe-oF para Windows.

Iniciador NVMe-oF para servidor Windows Intel

Até a comercialização, a StarWind oferecia seu NVMe-oF Initiator para Windows como uma ferramenta gratuita para desenvolvimento e casos de uso de PoC. Eles ainda oferecer a versão gratuita para aqueles que querem jogar, mas a versão de remessa GA é o que estamos vendo hoje. Na verdade, se você estiver olhando para qualquer iniciador NVMe-oF para Windows, provavelmente está consumindo StarWind IP. Eles fornecem a solução para uma variedade de parceiros que precisam desenvolver suas ofertas.

Iniciador NVMe-oF para configuração do Windows

O iniciador StarWind NVMe-oF para Windows é uma instalação simples em qualquer host Windows. Não há necessidade de hardware especializado ou componentes adicionais do Windows. O software é certificado para Windows (Server 2019 e Windows 10) e testado quanto à compatibilidade com os principais fornecedores de armazenamento NVMe-oF. Em nosso cenário, temos uma configuração muito simples de um host de armazenamento e quatro clientes.

iniciador starwind NVMe-oF para Windows no gerenciador de dispositivos

Cada um dos quatro clientes é Dell Power Edge R740 servidores. Cada um deles está executando duas CPUs Intel Xeon Gold 6130 a 2.1 GHz com 256 GB de DRAM. Para conectividade, estamos usando NVIDIA ConnectX-5 EN 100GbE NICs (MCX516A-CCAT). Os servidores são instalados com o Windows Server 2019 Standard Edition, aproveitando o iniciador StarWind NVMe-oF para Windows versão 1.9.0.455. Para o teste do Linux, usamos CentOS 8.4.2105 (kernel – 4.18.0-305.10.2) com nvme-cli 1.12. Os servidores são conectados diretamente ao host de armazenamento.

Iniciador StarWind NVMe-oF para arquitetura Windows

O host de armazenamento é um servidor Intel OEM (M50CYP2SB2U) equipado com duas CPUs Intel Xeon 8380 a 2.3 GHz com 512 GB de DRAM. Novamente usamos NVIDIA ConnectX-5 EN 100GbE NICs (MCX516A-CDAT), desta vez tivemos quatro no host. Neste caso estamos usando CentOS 8.4.2105 (kernel – 5.13.7-1.el8.elrepo) e SPDK v21.07.

Iniciador NVMe-oF para Windows P5510

Dentro do host, estamos usando oito Intel P5510 SSD Gen4 NVMe. Os SSDs são divididos em dois lotes de quatro para alinhamento NUMA com as CPUs. Eles são configurados em RAID0 para desempenho máximo.

Iniciador NVMe-oF para desempenho do Windows

Para este teste, executamos os seguintes benchmarks via FIO aproveitando os iniciadores Linux e Windows.

  • Leitura Aleatória 4K – 16 Threads, 32 Filas de Profundidade
  • Gravação aleatória 4K - 8 segmentos, profundidade de 4 filas
  • Leitura Aleatória 64K – 4 Threads, 32 Filas de Profundidade
  • Gravação aleatória 64K - 4 segmentos, profundidade de 1 filas
  • Leitura Sequencial 1M - 2 Threads, 8 Filas de Profundidade
  • Gravação sequencial 1M - 1 thread, profundidade de 8 filas

A duração de um único teste é de 3600 segundos (1 hora). Antes de comparar as operações de gravação, o armazenamento foi aquecido por 3600 segundos (1 hora). Todos os testes foram realizados três vezes e o valor médio foi utilizado como resultado final.

Em nosso primeiro grupo, analisando o desempenho do iniciador Linux NVMeoF em 4 clientes, medimos 5.54 milhões de IOPS em uma largura de banda de 21.6 GB/s com latência de 0.369 ms em leitura aleatória de 4K. O desempenho de gravação aleatória de 4K mediu 1.58 M IOPS em uma largura de banda de 6.2 GB/s com uma latência de 0.08 ms.

Passando para transferências de blocos grandes, medimos 64K aleatórios e, finalmente, um teste sequencial de 1M com foco na largura de banda em toda a malha. Na leitura aleatória de 64K, medimos 46.6 GB/s a 0.69 ms de latência e 7.2 GB/s a 0.14 ms de latência na gravação. 1M sequencial chegou a 42.9 GB/s de leitura a 1.48 ms de latência e 25.4 GB/s a 1.26 ms de latência para gravação.

Em seguida, mudamos para o Windows, onde aproveitamos o iniciador StarWind NVMeoF nos mesmos quatro clientes. Aqui, medimos 4.17 milhões de IOPS em leitura aleatória de 4K ou 16.3 GB/s a 0.35 ms de latência. A gravação aleatória de 4K chegou a 1.54 M IOPS ou 6 GB/s a 0.07 ms de latência.

Em seguida, mudamos para um tamanho de transferência maior de 64 K com o mesmo perfil de acesso aleatório. Aqui medimos 46.6 GB/s de leitura a 0.68 ms de latência e 7.2 GB/s de gravação a 0.13 ms de latência. Mudando para nosso último perfil de carga de trabalho de um tamanho de transferência de 1M com um padrão de acesso sequencial, medimos 42.9 GB/s de leitura a 1.38 ms de latência e 25.2 GB/s de gravação a 1.14 ms de latência.

Comparando os números frente a frente, o desempenho do Windows e do Linux ficou muito próximo um do outro, com exceção da leitura aleatória de 4K. Em todos os outros testes, a diferença de desempenho foi inferior a 3%. A principal diferença realmente se resume à sobrecarga da CPU adicionada ao fluir pela pilha de armazenamento do Windows. Isso resulta em uma diferença de 2.7 a 3.7x, onde o próprio aumento de E/S aumenta o uso da CPU.

Passar de uma utilização de CPU de 16% no Linux para 44% no Windows é um salto bastante grande, mas ir de 3.5% para 9% não seria sentido no mesmo grau. Para aplicativos que precisam ser executados no Windows ou na loja de TI, sendo mais focado no Windows em geral, o principal objetivo da StarWind era trazer recursos e desempenho do NVMeoF que eles claramente eram capazes de alcançar.

Conclusão

O objetivo desta análise não é determinar a melhor maneira ou a maneira mais rápida de lançar sua própria solução NVMe-oF. A maioria das implantações de armazenamento segue o aplicativo, em comparação com o aplicativo que segue o armazenamento. Dito isso, há vários motivos pelos quais uma organização pode querer usar o Windows. Podem ser aplicativos específicos, infraestrutura existente, motivos de custo ou qualquer outro número de questões que tornam o Windows a plataforma preferida. Pelo menos agora, com o iniciador NVMe-oF da StarWind para Windows, temos uma opção quando se trata de compartilhar SSDs NVMe e aproximá-los o máximo possível dos sistemas de aplicativos.

Iniciador NVMe-oF para chassi frontal do Windows

Ignorando o sistema operacional do cliente por um momento, a principal limitação em nossos testes realmente se resume aos links de rede entre os sistemas. Em nosso caso, aproveitando NICs de 100 Gb, saturamos a rede e chegamos a 46.6 GB/s nos ambientes Linux e Windows. Mesmo o teste de leitura aleatória de pico de 4K no Windows atingiu 16.3 GB/s, o que resultaria em mais de seis links de 25 GbE para E/S aleatória. A rede acaba desempenhando um papel mais importante para o NVMe-oF, pois o desempenho do NVMe de qualquer maneira que você o corte pode absorver muito tráfego.

Mas, no final das contas, nosso objetivo era avaliar o funcionamento do iniciador StarWind. Funciona muito bem. Considerando que a alternativa é “Sem NVMe-oF para você!” no Windows, estamos felizes em ter todas as opções. Sim, há um golpe de CPU para o privilégio, mas mesmo que os deltas percentuais do Linux para o Windows sejam assustadores, fora das leituras aleatórias de 4K, o impacto percebido é mínimo. Se você não tem certeza se este é o ajuste certo, o StarWind permite que você experimente gratuitamente. É tão simples de instalar que há todos os motivos para experimentá-lo e ver como o NVMe-oF pode funcionar bem para seus aplicativos no Windows.

Página de produto StarWind

Formulário de solicitação de demonstração do StarWind

Envolva-se com a StorageReview

Newsletter | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | RSS feed