FlexiRemap® vs RAID

Os algoritmos RAID foram introduzidos ao público em 1987. Até hoje, eles continuam sendo a tecnologia mais popular para proteger e acelerar o acesso aos dados no campo de armazenamento de informações. Mas a era da tecnologia de TI, que ultrapassou um marco de 30 anos, não é a maturidade, mas a velhice. O motivo é o progresso, inexoravelmente carregando novas oportunidades. Nos momentos em que praticamente não havia outras unidades além do HDD, os algoritmos RAID tornaram possível o uso mais eficiente dos recursos de armazenamento disponíveis. No entanto, com o advento do SSD, a situação mudou fundamentalmente. Agora, o RAID ao trabalhar com SSDs já é um "laço" no desempenho deles. Portanto, para liberar todo o potencial das características de velocidade do SSD, é simplesmente necessária uma abordagem completamente diferente para trabalhar com eles.



Além das diferenças óbvias entre o HDD e o SSD nos princípios operacionais, esses tipos de mídia têm uma característica mais importante: qualquer disco rígido pode sobrescrever qualquer dado com granularidade em um bloco (agora é na maioria das vezes 4K). Para SSDs, o processo de reescrita é um procedimento muito mais complicado:


  • Os dados alterados são copiados para um novo local. Ao mesmo tempo, a granularidade é o mesmo bloco, mas consiste em várias páginas e com um tamanho de 256 KB - 4 MB. I.e. ao alterar o mesmo 4KB, é necessário copiar incluindo todas as páginas vizinhas, formando um único bloco.
  • Marque os blocos "antigos" como não utilizados e limpe-os com o coletor de lixo.


Gravação / substituição sequencial no SSD


No caso de gravação / dublagem seqüencial, esse recurso do SSD não desempenha um grande papel em termos de desempenho, porque os blocos estão localizados nas proximidades e o coletor de lixo está realizando seu trabalho em segundo plano. Mas na vida real, e mais ainda no segmento Enterprise para SSD, o acesso aleatório aos dados é mais frequentemente usado. E esses dados são gravados em locais arbitrários nas unidades.


Quanto mais dados são gravados no SSD, mais difícil é para o coletor de lixo trabalhar, pois a fragmentação está crescendo rapidamente. Como resultado, chega o momento em que o processo de limpeza da unidade deixa de ser "em segundo plano": o desempenho do SSD cai significativamente, porque uma parte significativa é retirada pelo Garbage Collector.



Layout de dados reais no SSD para uso diário


Para ilustrar o efeito do impacto do coletor de lixo, dependendo do modo de gravação na unidade, é possível realizar testes simples: gravação sequencial e aleatória em blocos de 4K a uma unidade de 100 GB. (Fonte - Micron )



Desempenho de gravação sequencial



Desempenho de gravação aleatória


Como você pode ver nos testes, a queda de desempenho pode atingir mais de duas vezes. E esta é apenas uma unidade. No caso de usar SSDs como parte de um grupo RAID, o número de operações de reescrita aumenta significativamente, graças ao trabalho com paridade.


Em geral, graças a esses recursos do SSD, para eles existe um parâmetro como um coeficiente de gravação (amplificação de gravação). Essa é a proporção entre a quantidade de dados gravados na unidade e a quantidade de dados que o host realmente enviou. E para o RAID5 mais popular, essa proporção é de ~ 3,5.


Como resultado, os sistemas com RAID clássico basicamente usam SSDs apenas ~ 10% da velocidade real e apresentam uma escala ruim no desempenho, com um aumento no número de unidades em mais de uma dúzia.


Também observamos que operações excessivas de gravação não apenas reduzem o desempenho dos SSDs, mas também reduzem o recurso longe de ser infinito, reduzindo assim a vida útil da unidade.


A tecnologia FlexiRemap® , que é o núcleo de todos os produtos AccelStor, foi desenvolvida como uma alternativa aos algoritmos RAID clássicos para trabalhar com SSDs. A inovação da tecnologia foi notada por várias patentes e prêmios (inclusive no Flash Memory Summit 2016) e pelos resultados de testes independentes (por exemplo, SPC1).


A essência do FlexiRemap® é converter todas as solicitações de gravação recebidas, e principalmente do tipo aleatório, em um conjunto de blocos o mais semelhante possível à gravação seqüencial do ponto de vista da unidade. Como resultado, a gravação no SSD ocorre no modo mais confortável para eles, e o desempenho final excede qualquer sistema com um RAID clássico.


Todos os SSDs nos sistemas AccelStor são divididos em dois grupos simétricos FlexiRemap®. O tamanho do grupo depende do modelo e é de 5 a 11 unidades. Para resiliência dentro de um grupo, a paridade é usada como RAID5. Ambos os grupos são usados ​​juntos para formar um espaço de armazenamento comum. Portanto, a tolerância a falhas resultante será semelhante a uma matriz RAID50 composta por dois grupos: o sistema é capaz de suportar uma falha de até dois SSDs, mas não mais que um em cada grupo FlexiRemap®.



Todas as solicitações de gravação recebidas são divididas em blocos 4K, que no modo round robin são gravados nos dois grupos FlexiRemap®. Além disso, o sistema acompanha constantemente a demanda por blocos gravados, tentando registrar esses blocos o mais próximo possível um do outro. Acontece um análogo virtual de lacrimejamento, se expresso em termos de armazenamento. Nesse caso, o trabalho do coletor de lixo é bastante facilitado: afinal, os blocos não utilizados sempre estarão próximos.


Deve-se observar que os sistemas AccelStor , diferentemente dos produtos dos concorrentes, não usam a funcionalidade de cache das solicitações recebidas na RAM do controlador. Todos os blocos de dados recebidos são gravados imediatamente no SSD. O host recebe a confirmação da gravação bem-sucedida somente após o posicionamento físico dos dados nas unidades. Somente tabelas de alocação de bloco no SSD são armazenadas na RAM para acelerar o acesso e determinar onde gravar o próximo bloco de dados. Obviamente, para garantir a confiabilidade, cópias dessas tabelas também estão localizadas na própria mídia. Como resultado, os sistemas AccelStor não exigem nenhuma proteção de cache na forma de bateria / capacitor (no entanto, existe a oportunidade de estabelecer uma conexão com o no-break para um desligamento "suave" em caso de problemas de energia).


Graças a essa abordagem de organização de gravações, o coletor de lixo pode realmente trabalhar em segundo plano sem afetar significativamente a velocidade das unidades, o que, em última análise, permite a utilização de até 90% do desempenho do SSD no sistema. É exatamente isso que é o IOPS nos sistemas AccelStor em relação ao All Flash, com base nos algoritmos RAID.


Outra característica importante da tecnologia FlexiRemap® é a redução significativa nas operações redundantes de gravação nos SSDs. Portanto, o coeficiente de amplificação de gravação para os sistemas AccelStor é de apenas 1,3, o que na tradução para o idioma comum significa um aumento na vida útil das unidades em comparação com o RAID5 em mais de 2,5 vezes!



Graças ao monitoramento constante pelo sistema da política de colocação de dados no SSD, todas as unidades se desgastam da mesma maneira. Essa abordagem nos permite prever sua vida útil e sinalizar com antecedência ao administrador sobre o esgotamento do recurso de gravação.


É claro que os SSDs podem falhar. Nesse caso, o sistema começará a ser reconstruído imediatamente em uma das unidades hot spare. Nesse caso, o grupo FlexiRemap®, que está em um estado degradado, entra no modo somente leitura e todas as solicitações de gravação são enviadas para o segundo grupo. Esse mecanismo de proteção é fornecido para acelerar a operação de reconstrução e reduzir a probabilidade de falha de outra unidade dentro do mesmo grupo. Não é segredo que, durante a reconstrução, todas as unidades do grupo experimentam um aumento de carga devido à interferência das operações de leitura, gravação e restauração no hot spare. Isso aumenta a probabilidade de outra unidade falhar. E quanto mais operações de gravação, mais demorará a reconstrução.



Após a conclusão do processo de recuperação e o grupo FlexiRemap® retornar ao seu estado normal, haverá um pequeno viés no recurso de gravação entre os dois grupos. Portanto, para alinhá-lo, as operações de gravação subseqüentes geralmente caem no grupo restaurado (é claro, de tal maneira que o desempenho final do sistema não sofre muito).


É impossível aumentar o desempenho de todos os sistemas Flash com base nos algoritmos RAID acima de alguns valores (~ 280K IOPS @ gravação aleatória 4K), mesmo ao usar sistemas de cache complexos. A tecnologia FlexiRemap®, graças a uma abordagem completamente diferente para organizar o espaço de armazenamento, não apenas supera facilmente essa barreira, mas também aumenta simultaneamente a vida útil dos SSDs. Portanto, os sistemas AccelStor têm sérias vantagens entre os arrays All Flash em várias frentes (IOPS / $, GB / $, TCO, ROI), tornando-os candidatos ideais para posições-chave nos datacenters de clientes para resolver tarefas com muitos recursos.

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


All Articles