Elbrus versus Intel. Comparando o desempenho dos sistemas de armazenamento Aerodisk Vostok e Engine

Elbrus versus Intel. Comparando o desempenho dos sistemas de armazenamento Aerodisk Vostok e Engine

Olá a todos. Continuamos apresentando o sistema de armazenamento de dados Aerodisk VOSTOK, baseado no processador russo Elbrus 8C.

Neste artigo iremos (como prometido) analisar detalhadamente um dos tópicos mais populares e interessantes relacionados ao Elbrus, nomeadamente a produtividade. Existem muitas especulações sobre o desempenho de Elbrus, e especulações absolutamente polares. Os pessimistas dizem que a produtividade da Elbrus é agora “nada” e que levará décadas para alcançar os “principais” produtores (ou seja, na realidade actual, nunca). Por outro lado, os otimistas dizem que o Elbrus 8C já apresenta bons resultados, e nos próximos anos, com o lançamento de novas versões de processadores (Elbrus 16C e 32C), poderemos “alcançar e ultrapassar” principais fabricantes de processadores do mundo.

Nós da Aerodisk somos pessoas práticas, por isso seguimos o caminho mais simples e compreensível (para nós): testar, registrar os resultados e só então tirar conclusões. Como resultado, realizamos um grande número de testes e descobrimos uma série de recursos operacionais da arquitetura Elbrus 8C e2k (incluindo alguns agradáveis) e, é claro, comparamos isso com sistemas de armazenamento semelhantes em processadores de arquitetura Intel Xeon amd64.

A propósito, falaremos com mais detalhes sobre os testes, resultados e desenvolvimento futuro de sistemas de armazenamento no Elbrus em nosso próximo webinar “OkoloIT” no dia 15.10.2020 de outubro de 15 às 00h. Você pode se registrar usando o link abaixo.

Registro para o webinar

bancada de teste

Criamos dois estandes. Ambos os stands consistem em um servidor rodando Linux, conectado via switches 16G FC a dois controladores de armazenamento, nos quais estão instalados 12 discos SAS SSD de 960 GB (11,5 TB de “capacidade bruta” ou 5,7 TB de capacidade “utilizável”, se usarmos RAID -10).

Esquematicamente, o suporte se parece com isso.

Elbrus versus Intel. Comparando o desempenho dos sistemas de armazenamento Aerodisk Vostok e Engine

Estande nº 1 e2k (Elbrus)

A configuração de hardware é a seguinte:

  • Servidor Linux (2xIntel Xeon E5-2603 v4 (6 núcleos, 1,70 Ghz), 64 GB DDR4, 2 adaptadores xFC 16G 2 portas) – 1 pc.
  • Interruptor FC 16 G – 2 unid.
  • Sistema de armazenamento Aerodisk Vostok 2-E12 (2xElbrus 8C (8 núcleos, 1,20 Ghz), 32 GB DDR3, 2xFE adaptador FC 16G 2 portas, 12xSAS SSD 960 GB) - 1 pc.

Suporte nº 2 amd64 (Intel)

Para comparação com uma configuração semelhante no e2k, usamos uma configuração de armazenamento semelhante com um processador com características semelhantes ao AMD64:

  • Servidor Linux (2xIntel Xeon E5-2603 v4 (6 núcleos, 1,70 Ghz), 64 GB DDR4, 2 adaptadores xFC 16G 2 portas) – 1 pc.
  • Interruptor FC 16 G – 2 unid.
  • Sistema de armazenamento Aerodisk Engine N2 (2xIntel Xeon E5-2603 v4 (6 núcleos, 1,70 Ghz), 32 GB DDR4, 2xFE adaptador FC 16G 2 portas, 12xSAS SSD 960 GB) - 1 pc.

Nota importante: os processadores Elbrus 8C usados ​​no teste suportam apenas RAM DDR3, isso é claro “ruim, mas não por muito tempo”. Elbrus 8SV (ainda não temos em estoque, mas teremos em breve) suporta DDR4.

Metodologia de Teste

Para gerar a carga, usamos o popular e testado programa Flexible IO (FIO).

Ambos os sistemas de armazenamento são configurados de acordo com nossas recomendações de configuração, baseadas nos requisitos de alto desempenho no acesso em bloco, por isso utilizamos pools de discos DDP (Dynamic Disk Pool). Para não distorcer os resultados dos testes, desabilitamos a compactação, a desduplicação e o cache RAM em ambos os sistemas de armazenamento.

Foram criados 8 D-LUNs em RAID-10, de 500 GB cada, com capacidade útil total de 4 TB (ou seja, aproximadamente 70% da capacidade utilizável possível desta configuração).

Serão executados cenários básicos e populares de utilização de sistemas de armazenamento, em especial:

os dois primeiros testes emulam a operação de um SGBD transacional. Neste grupo de testes estamos interessados ​​em IOPS e latência.

1) Leitura aleatória em pequenos blocos 4k
a. Tamanho do bloco = 4k
b. Leitura/Escrita = 100%/0%
c. Número de trabalhos = 8
d. Profundidade da fila = 32
e. Carregar caractere = Totalmente Aleatório

2) Gravação aleatória em pequenos blocos 4k
a. Tamanho do bloco = 4k
b. Leitura/Escrita = 0%/100%
c. Número de trabalhos = 8
d. Profundidade da fila = 32
e. Carregar caractere = Totalmente Aleatório

os dois segundos testes emulam o funcionamento da parte analítica do SGBD. Neste grupo de testes também estamos interessados ​​em IOPS e latência.

3) Leitura sequencial em pequenos blocos 4k
a. Tamanho do bloco = 4k
b. Leitura/Escrita = 100%/0%
c. Número de trabalhos = 8
d. Profundidade da fila = 32
e. Carregar caractere = Sequencial

4) Gravação sequencial em pequenos blocos 4k
a. Tamanho do bloco = 4k
b. Leitura/Escrita = 0%/100%
c. Número de trabalhos = 8
d. Profundidade da fila = 32
e. Carregar caractere = Sequencial

O terceiro grupo de testes emula o trabalho de leitura de streaming (exemplo: transmissões online, restauração de backups) e gravação de streaming (exemplo: vigilância por vídeo, gravação de backups). Neste grupo de testes não estamos mais interessados ​​em IOPS, mas sim em MB/s e também em latência.

5) Leitura sequencial em grandes blocos de 128k
a. Tamanho do bloco = 128k
b. Leitura/Escrita = 0%/100%
c. Número de trabalhos = 8
d. Profundidade da fila = 32
e. Carregar caractere = Sequencial

6) Gravação sequencial em grandes blocos de 128k
a. Tamanho do bloco = 128k
b. Leitura/Escrita = 0%/100%
c. Número de trabalhos = 8
d. Profundidade da fila = 32
e. Carregar caractere = Sequencial

Cada teste durará uma hora, excluindo o tempo de aquecimento do array de 7 minutos.

Resultados do teste

Os resultados do teste estão resumidos em duas tabelas.

Elbrus 8S (SHD Aerodisk Vostok 2-E12)

Elbrus versus Intel. Comparando o desempenho dos sistemas de armazenamento Aerodisk Vostok e Engine

Intel Xeon E5-2603 v4 (sistema de armazenamento Aerodisk Engine N2)

Elbrus versus Intel. Comparando o desempenho dos sistemas de armazenamento Aerodisk Vostok e Engine

Os resultados revelaram-se extremamente interessantes. Em ambos os casos, fizemos bom uso do poder de processamento do sistema de armazenamento (70-90% de utilização) e, nesta situação, os prós e os contras de ambos os processadores são claramente evidentes.

Em ambas as tabelas, os testes onde os processadores “se sentem confiantes” e apresentam bons resultados são destacados em verde, enquanto as situações que os processadores “não gostam” são destacadas em laranja.

Se falamos de carregamento aleatório em pequenos blocos, então:

  • do ponto de vista da leitura aleatória, a Intel certamente está à frente da Elbrus, a diferença é de 2 vezes;
  • do ponto de vista da gravação aleatória é definitivamente um empate, ambos os processadores mostraram resultados aproximadamente iguais e decentes.

Em uma carga sequencial em pequenos blocos o quadro é diferente:

  • tanto na leitura quanto na escrita, a Intel está significativamente (2 vezes) à frente da Elbrus. Ao mesmo tempo, se Elbrus tiver um indicador IOPS inferior ao da Intel, mas parecer decente (200-300 mil), então há um problema óbvio com atrasos (eles são três vezes maiores que os da Intel). Conclusão, a versão atual do Elbrus 8C realmente “não gosta” de carregamentos sequenciais em pequenos blocos. É evidente que há algum trabalho a ser feito.

Mas em um carregamento sequencial com blocos grandes, o quadro é exatamente o oposto:

  • ambos os processadores mostraram resultados aproximadamente iguais em MB/s, mas há um MAS.... O desempenho de latência do Elbrus é 10 (dez, Karl!!!) vezes melhor (ou seja, menor) do que o de um processador semelhante da Intel (0,4/0,5 ms versus 5,1/6,5 ms). A princípio pensamos que era uma falha, então verificamos novamente os resultados, fizemos um novo teste, mas o novo teste mostrou a mesma imagem. Esta é uma vantagem séria do Elbrus (e da arquitetura e2k em geral) sobre a Intel (e, consequentemente, a arquitetura AMD64). Esperemos que este sucesso seja ainda mais desenvolvido.

Há outra característica interessante do Elbrus, que um leitor atento pode prestar atenção olhando para a mesa. Se você observar a diferença entre o desempenho de leitura e gravação da Intel, verá que, em todos os testes, a leitura está à frente da gravação, em média, cerca de 50% +. Esta é a norma à qual todos (inclusive nós) estão acostumados. Se você olhar para Elbrus, os indicadores de escrita estão muito mais próximos dos indicadores de leitura: a leitura está à frente da escrita, via de regra, em 10 a 30%, não mais.

O que isto significa? O fato de Elbrus “realmente adorar” escrever, e isso, por sua vez, sugere que este processador será muito útil em tarefas onde a escrita prevalece claramente sobre a leitura (quem disse a lei de Yarovaya?), o que também é uma vantagem indiscutível da arquitetura e2k, e esta vantagem precisa ser desenvolvida.

Conclusões e o futuro próximo

Testes comparativos dos processadores Elbrus e Intel de gama média para tarefas de armazenamento de dados mostraram resultados aproximadamente iguais e igualmente dignos, enquanto cada processador mostrou seus próprios recursos interessantes.

A Intel superou muito o Elbrus na leitura aleatória em pequenos blocos, bem como na leitura e escrita sequencial em pequenos blocos.

Ao escrever aleatoriamente em pequenos blocos, ambos os processadores apresentam resultados iguais.

Em termos de latência, Elbrus parece significativamente melhor que a Intel em carga de streaming, ou seja, na leitura sequencial e na escrita em grandes blocos.

Além disso, Elbrus, ao contrário da Intel, lida igualmente bem com cargas de leitura e gravação, enquanto com a Intel ler é sempre muito melhor do que escrever.
Com base nos resultados obtidos, podemos concluir sobre a aplicabilidade dos sistemas de armazenamento de dados Aerodisk Vostok no processador Elbrus 8C nas seguintes tarefas:

  • sistemas de informação com predominância de operações de escrita;
  • acesso a arquivos;
  • transmissões on-line;
  • monitoramento de vídeo;
  • cópia de segurança;
  • conteudo de midia.

A equipe do MCST ainda tem o que trabalhar, mas o resultado do seu trabalho já é visível, o que, claro, não pode deixar de nos alegrar.

Esses testes foram realizados no kernel Linux para e2k versão 4.19; atualmente em testes beta (no MCST, no Basalt SPO, e também aqui no Aerodisk) existe um kernel Linux 5.4-e2k, no qual, entre outras coisas, possui foi seriamente redesenhado agendador e muitas otimizações para unidades de estado sólido de alta velocidade. Além disso, especificamente para kernels do ramo 5.x.x, MCST JSC lança um novo compilador LCC, versão 1.25. De acordo com resultados preliminares, no mesmo processador Elbrus 8C, um novo kernel compilado com um novo compilador, um ambiente de kernel, utilitários e bibliotecas de sistema e, de fato, o software Aerodisk VOSTOK permitirão um aumento ainda mais significativo no desempenho. E isso sem substituir equipamentos - no mesmo processador e com as mesmas frequências.

Esperamos o lançamento de uma versão do Aerodisk VOSTOK baseada no kernel 5.4 no final do ano e, assim que o trabalho na nova versão for concluído, atualizaremos os resultados dos testes e também os publicaremos aqui.

Se voltarmos agora ao início do artigo e respondermos à pergunta, quem está certo: os pessimistas que dizem que Elbrus é “nada” e nunca alcançará os principais fabricantes de processadores, ou os otimistas que dizem que “já quase pegaram subindo e em breve ultrapassará "? Se partirmos não de estereótipos e preconceitos religiosos, mas de testes reais, então os otimistas estão definitivamente certos.

Elbrus já apresenta bons resultados quando comparado com processadores AMD64 de nível médio. O Elbrus 8-ke está, claro, longe dos modelos topo de linha de processadores para servidores da Intel ou AMD, mas não foi direcionado para lá; os processadores 16C e 32C serão lançados para esse fim. Depois a gente conversa.

Entendemos que após este artigo surgirão ainda mais perguntas sobre Elbrus, por isso decidimos organizar outro webinar online “OkoloIT” para responder a essas perguntas ao vivo.

Desta vez nosso convidado será o Diretor Geral Adjunto da empresa MCST, Konstantin Trushkin. Você pode se inscrever no webinar usando o link abaixo.

Registro para o webinar

Obrigado a todos, como sempre, aguardamos críticas construtivas e perguntas interessantes.

Fonte: habr.com

Adicionar um comentário