Classe de armazenamento Memória no armazenamento - se você precisar ainda mais rápido

A figura não expressa a posição da empresa e é uma visão pessoal do autor, não necessariamente relacionada ao tema deste texto. Como você provavelmente se lembra, a NRE tem investido há muito tempo no tópico de novos tipos de data warehouses (é claro, The Machine ) e na otimização do acesso às instalações de armazenamento (nossa participação no consórcio Gen-Z ).

O objetivo desse movimento é acelerar o trabalho dos aplicativos de nossos clientes. Além disso, esse movimento é multinível: enquanto a arquitetura completamente nova dos sistemas de computação The Machine (a chamada arquitetura centrada na memória) está sendo forjada, entendemos que precisamos acelerar agora. Vamos ver o que pode ser feito hoje e o que aparecerá na HPE amanhã. Dica - falaremos sobre a forte aceleração do armazenamento 3PAR e Nimble usando o cache inteligente e de custo relativamente baixo na Storage Class Memory (SCM) na forma de Intel Optane.

Primeiro, estabelecemos os limites do problema em estudo. Nesta postagem, não estamos interessados ​​em computação de alto desempenho com suas próprias especificidades e não estamos interessados ​​em tarefas que exigem armazenamento rápido exclusivamente entre servidores. Sem dúvida, este último também é um tópico para o Intel Optane e o SCM, mas essas tarefas geralmente são específicas, pouco favoráveis ​​à virtualização e, consequentemente, à consolidação. Falaremos sobre tarefas e aplicativos que se dão bem com os sistemas de armazenamento 3PAR, Nimble ou MSA externos (embora também não tocemos no MSA).

Portanto, como você pode melhorar o desempenho de um aplicativo virtualizado que funciona com dados em um sistema de armazenamento externo:
  • veja o que está retendo o aplicativo agora. Talvez isso não seja uma questão de armazenamento, mas de esperar pelo processador, na lógica interna de trabalhar com dados, em solicitações escritas abaixo do ideal;
  • se os atrasos forem grandes em termos de espera de dados (E / S), verifique primeiro se todas as recomendações para configurar o pacote de drivers de aplicativos e aplicativos (SCSI, HBA etc.) são atendidas
  • talvez o caso na SAN (Ethernet, FC);
  • talvez ainda esteja no sistema de armazenamento. Onde no armazenamento? No hardware do controlador (o que há com o cache, qual é a carga do processador), no sistema operacional e nos drivers do controlador, no barramento de dados, em discos ...

Possível linha de pensamento: Ah, com certeza - as rodas! Tudo o resto é complicado e não quero tocar, mas com os discos que tentaremos. O que temos, um híbrido - bem, então precisamos de tudo em flash. Já temos tudo em flash? E o que é melhor? Assistimos a publicidade de marcas respeitáveis:

imagem

Tudo está claro, nós armazenamos com "discos NVMe". Espera, quanto custa ? E você precisa comprar um novo sistema de armazenamento, não posso atualizar o meu atual? Bem, você tem que ...

imagem

Mas é possível de outra maneira? Nós da NRE acreditamos que não é apenas possível, mas também necessário. E aqui está o porquê:

imagem

O fato é que a maioria dos SSDs NVMe no mercado atualmente são do mesmo tipo de mídia, NAND-flash, conectada apenas ao controlador não pelo protocolo Serial Attached SCSI (SAS), mas pelo novo protocolo NVMe. O novo protocolo é sem dúvida bonito, e aqui estão alguns fatos:

  • 64.000 filas disponíveis com 64.000 threads cada - IOPS acima do teto
  • controlador diretamente para a CPU - menor carga da CPU
  • cada núcleo do processador vê cada SSD diretamente - baixa latência


Substituindo completamente o protocolo SCSI desde o aplicativo até os discos, é possível reduzir significativamente a latência de acesso. Mas o que os profissionais de marketing nos oferecem hoje? "Discos NVMe." I.e. toda a cadeia do próprio controlador de armazenamento permanece a mesma - SCSI. E então o controlador simplesmente reembala o SCSI no NVMe e, assim, se comunica com os SSDs NAND conectados.

O resultado no gráfico acima é o ganho mínimo no atraso. Embora o ganho no pico de IOPS possa realmente ser muito perceptível. A analogia tradicional: você precisa de um carro que possa acelerar rapidamente para ultrapassar em 5 segundos ou de um carro que, em condições ideais, possa acelerar em 10 minutos a 300 km / h? Ambas as opções são boas, mas mais frequentemente elas escolhem a primeira.

A realidade é que hoje o ganho do NVMe NAND é quase imperceptível para aplicativos reais e, em nossa opinião, não vale a diferença entre preço e perda de capacidade disponível em comparação com o SSD SAS.

O que a HPE oferece, em vez de simplesmente substituir a “última milha” do SAS para o NVMe, é o uso de unidades Intel Optane completamente novas, conectadas via NVMe como um cache de leitura em nossos controladores de armazenamento 3PAR e Nimble.

imagem

(O aritmômetro e o administrador da foto são chamados Felix, mas a diferença é enorme!)

Por que decidimos seguir esse caminho:

  • Dessa forma, podemos oferecer aos nossos clientes a atualização dos sistemas de armazenamento já adquiridos (especificamente 3PAR 9450, 20450, 20850 e Nimble AF60 e AF80 - todos os principais flashes)
    imagem
  • desta maneira muito simples (adicionando uma placa de expansão com Optane a bordo de cada controlador), reduzimos o atraso máximo em cerca de 15 vezes e a média em 30-40% (as IOPS também estão crescendo, tudo bem). E o mais importante, o atraso não salta do marketing " de 0,2 ms!" ad infinitum (o marketing não é nosso, apenas cito), mas torna-se muito mais estável:
    imagem

    (Atraso nos valores com base nos testes internos da HPE)
  • mais especificamente, o que se pode esperar de uma redução na latência da matriz do seu Oracle favorito, por exemplo: de acordo com nossos testes internos, a espera de E / S é reduzida em média em 37% e as seleções de SQL são aceleradas em 27%.
  • Por que o cache é lido e não gravado? Como no 3PAR e no Nimble, há muitos anos a DRAM é usada como cache de gravação (NVRAM não volátil no Nimble). Por sua vez, é várias vezes mais rápido que os dispositivos NVMe e até o advento da Gen-Z ou de novos protocolos semelhantes permanecerá assim. I.e. A gravação não é necessária para acelerar através do NVMe.
  • Por que Intel Optane? Porque este é o mais novo tipo de meio, embora ainda esteja atrás do NAND em densidade, mas uma ordem de magnitude mais rápida em resposta. Além disso, o Optane possui um recurso quase inesgotável para reescrever. Em geral, para sistemas carregados, os custos de transação no Optane são muito mais baixos que no NAND NVMe. E o cache é uma camada muito carregada de todos os lados. Os dados ativos são copiados para ele de uma camada mais lenta (portanto, é necessário um recurso), são lidos a partir dele se os dados não forem encontrados no cache da NVRAM do controlador (portanto, é necessária uma resposta rápida para que ir além do cache da NVRAM não pareça uma viagem ao hipermercado em comparação com com uma ida à loja perto da casa).
  • afinal, por que não colocar discos NVMe? Certifique-se de colocá-lo! Por exemplo, o chassi Nimble permite a instalação de tais discos agora (o backplane está pronto para isso), mas ainda não vendemos esses discos para o Nimble, porque é cedo. O cache do SCM agora oferece um aumento múltiplo no desempenho de centavos relativos. Portanto, vamos usá-lo enquanto o NVMe NAND ainda é mais barato, o próprio protocolo NVMe ainda está em desenvolvimento (o multipath apareceu no padrão apenas em março de 2018 e ainda está muito aquém da estabilidade do SCSI) e, em geral, o ecossistema NVMe do aplicativo aos discos ainda é não desenvolvido (o NVMe over fabric foi para o jardim de infância, os fabricantes discutem sobre a aparência, os drivers têm uma funcionalidade mínima, para que você não substitua demais quando tudo se acalmar).
  • e também porque realmente gostamos de guardar tudo em cache. Aqui está um exemplo sobre o Nimble:


imagem

Sim, a propósito, você conhece o HPE InfoSight ? Com esta ferramenta, você sempre sabe onde procurar um atraso. Por exemplo, assim:

imagem

(Se você encontrar algum atraso, entre em contato com nossa fé.)

É hora de resumir: se você é o orgulhoso proprietário do 3PAR 9000 ou 20.000, pode solicitar o 3PAR 3D Cache com base no Intel Optane no momento. Se você olhar atentamente para a matriz Nimble All-flash - aceite, porque É uma base confiável para proteger investimentos no futuro. Comece agora com o SAS NAND SSD, conecte o All Flash Turbo Cache baseado em SCM posteriormente e altere as unidades para NVMe.

Cache 3PAR e Nimble SCM

Para referência:

Source: https://habr.com/ru/post/pt432306/


All Articles