
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:
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 ...
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ê:
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.
(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)
- 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:
(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:

Sim, a propósito, você conhece o
HPE InfoSight ? Com esta ferramenta, você sempre sabe onde procurar um atraso. Por exemplo, assim:
(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.
Para referência: