FlexiRemap® vs RAID

Los algoritmos RAID se introdujeron al público en 1987. Hasta el día de hoy, siguen siendo la tecnología más popular para proteger y acelerar el acceso a los datos en el campo del almacenamiento de información. Pero la era de la tecnología de TI, que ha superado un hito de 30 años, no es la madurez, sino la vejez. La razón es el progreso, que conlleva inexorablemente nuevas oportunidades. En tiempos en que prácticamente no había otras unidades además de HDD, los algoritmos RAID permitieron utilizar los recursos de almacenamiento disponibles de manera más eficiente. Sin embargo, con el advenimiento de SSD, la situación ha cambiado fundamentalmente. Ahora RAID cuando se trabaja con SSD ya es una "soga" en su rendimiento. Por lo tanto, para liberar todo el potencial de las características de velocidad de SSD, simplemente es necesario un enfoque completamente diferente para trabajar con ellos.



Además de las diferencias obvias entre HDD y SSD en los principios operativos, estos tipos de medios tienen una característica más importante: cualquier disco duro puede sobrescribir cualquier dato con granularidad en un bloque (ahora es más frecuente 4K). Para los SSD, el proceso de reescritura es un procedimiento mucho más complicado:


  • Los datos modificados se copian a una nueva ubicación. Al mismo tiempo, la granularidad es el mismo bloque, pero consta de varias páginas y tiene un tamaño de 256 KB - 4 MB. Es decir Al cambiar el mismo 4KB, es necesario copiar incluyendo todas las páginas vecinas, formando un solo bloque.
  • Marque los bloques "viejos" como no utilizados y luego límpielos con el recolector de basura.


Escritura secuencial / sobrescritura en SSD


En el caso de grabación / doblaje secuencial, esta característica del SSD no juega un papel importante en términos de su rendimiento, porque los bloques se encuentran cerca y el recolector de basura está haciendo su trabajo en segundo plano. Pero en la vida real, y aún más en el segmento Enterprise para SSD, el acceso aleatorio a los datos se usa con mayor frecuencia. Y estos datos se escriben en lugares arbitrarios en las unidades.


Cuantos más datos se escriben en el SSD, más difícil es para el recolector de basura trabajar, ya que la fragmentación está creciendo rápidamente. Como resultado, llega el momento en que el proceso de limpieza de la unidad deja de ser “en segundo plano”: el rendimiento del SSD disminuye significativamente, porque Una parte importante de ella es tomada por el recolector de basura.



Diseño de datos reales en SSD para uso diario


Para ilustrar el efecto del impacto del recolector de basura, dependiendo del modo de grabación en la unidad, se pueden realizar pruebas simples: grabación secuencial y aleatoria en bloques de 4K a una unidad de 100GB. (Fuente - Micron )



Rendimiento de escritura secuencial



Rendimiento de escritura aleatoria


Como puede ver en las pruebas, la caída del rendimiento puede alcanzar más de dos veces. Y esto es solo un solo disco. En el caso de usar SSD como parte de un grupo RAID, el número de operaciones de reescritura aumenta significativamente, gracias a trabajar con paridad.


En general, gracias a estas características del SSD, para ellos existe un parámetro como un coeficiente de escritura (amplificación de escritura). Esta es la relación entre la cantidad de datos escritos en la unidad y la cantidad de datos que el host realmente envió. Y para el RAID5 más popular, esta relación es ~ 3.5.


Como resultado, los sistemas con RAID clásico básicamente usan SSD solo ~ 10% de su velocidad real y escalan pobremente en rendimiento con un aumento en el número de unidades en más de una docena.


También observamos que las operaciones de escritura excesivas no solo reducen el rendimiento de los SSD, sino que también reducen sus recursos, que no son infinitos, lo que reduce la vida útil de la unidad.


La tecnología FlexiRemap® , que es el núcleo de todos los productos AccelStor, se ha desarrollado como una alternativa a los algoritmos RAID clásicos para trabajar con SSD. La innovación de la tecnología se observó tanto en varias patentes y premios (incluso en la Flash Memory Summit 2016) como en los resultados de pruebas independientes (por ejemplo, SPC1).


La esencia de FlexiRemap® es convertir todas las solicitudes de escritura entrantes, y principalmente de tipo aleatorio, en un conjunto de bloques que sea lo más similar posible a la grabación secuencial desde el punto de vista de la unidad. Como resultado, la grabación en el SSD se lleva a cabo en el modo más cómodo para ellos, y el rendimiento final supera cualquier sistema con un RAID clásico.


Todos los SSD en los sistemas AccelStor se dividen en dos grupos simétricos FlexiRemap®. El tamaño del grupo depende del modelo y es de 5 a 11 unidades. Para la resistencia dentro de un grupo, la paridad se usa como RAID5. Ambos grupos se usan juntos para formar un espacio de almacenamiento común. Por lo tanto, la tolerancia a fallos resultante será similar a una matriz RAID50 que consta de dos grupos: el sistema es capaz de soportar un fallo de hasta dos SSD, pero no más de uno en cada grupo FlexiRemap®.



Todas las solicitudes de escritura entrantes se dividen en bloques 4K, que en el modo round robin se escriben en ambos grupos FlexiRemap®. Además, el sistema realiza un seguimiento constante de la demanda de bloques grabados, tratando de grabar dichos bloques lo más cerca posible entre sí. Resulta un análogo virtual del desgarro, si se expresa en términos de almacenamiento. En este caso, el trabajo del recolector de basura se facilita enormemente: después de todo, los bloques no utilizados siempre estarán cerca.


Cabe señalar que los sistemas AccelStor , a diferencia de los productos de la competencia, no utilizan la funcionalidad de almacenamiento en caché de las solicitudes entrantes en la RAM del controlador. Todos los bloques de datos entrantes se escriben inmediatamente en el SSD. El host recibe la confirmación de una grabación exitosa solo después de la colocación física de los datos en las unidades. Solo las tablas de asignación de bloques en el SSD se almacenan en la RAM para acelerar el acceso y determinar dónde escribir el siguiente bloque de datos. Por supuesto, para mayor fiabilidad, las copias de estas tablas también se encuentran en los propios medios. Como resultado, los sistemas AccelStor no requieren ninguna protección de caché en forma de batería / condensador (sin embargo, existe la oportunidad de establecer una conexión con el UPS para un apagado "suave" en caso de problemas de alimentación).


Gracias a este enfoque para organizar grabaciones, el recolector de basura realmente puede trabajar en segundo plano sin afectar significativamente la velocidad de las unidades, lo que en última instancia permite utilizar hasta el 90% del rendimiento de SSD dentro del sistema. Esto es exactamente lo que es IOPS en los sistemas AccelStor contra All Flash, basado en algoritmos RAID.


Otra característica importante de la tecnología FlexiRemap® es la reducción significativa en las operaciones de escritura redundantes en SSD. Entonces, el coeficiente de amplificación de escritura para los sistemas AccelStor es solo 1.3, lo que en traducción al lenguaje común significa un aumento en la vida útil de las unidades en comparación con RAID5 en más de 2.5 veces.



Gracias al monitoreo constante por parte del sistema de la política de colocar datos en el SSD, todas las unidades se desgastan de la misma manera. Este enfoque nos permite predecir su vida útil y avisar al administrador de antemano sobre el agotamiento del recurso de grabación.


Está claro que los SSD pueden fallar. En este caso, el sistema comenzará inmediatamente a reconstruirse en una de las unidades de repuesto dinámico. En este caso, el grupo FlexiRemap®, que está en un estado degradado, pasa al modo de solo lectura y todas las solicitudes de escritura se envían al segundo grupo. Dicho mecanismo de protección se proporciona para acelerar la operación de reconstrucción y reducir la probabilidad de falla de otra unidad dentro del mismo grupo. No es ningún secreto que durante la reconstrucción, todas las unidades del grupo experimentan una mayor carga debido a la interferencia de las operaciones de lectura, escritura y restauración en el repuesto dinámico. Esto aumenta la probabilidad de que otra unidad falle. Y cuantas más operaciones de grabación, más demorará la reconstrucción.



Después de completar el proceso de recuperación y el grupo FlexiRemap® vuelve a su estado normal, habrá un ligero sesgo en el recurso de grabación entre los dos grupos. Por lo tanto, para alinearlo, las operaciones de grabación posteriores a menudo recaerán en el grupo restaurado (por supuesto, de tal manera que el rendimiento final del sistema no sufra mucho).


Es imposible aumentar el rendimiento de los sistemas All Flash basados ​​en algoritmos RAID por encima de algunos valores (~ 280K IOPS @ 4K de escritura aleatoria) incluso cuando se utilizan sistemas de almacenamiento en caché complejos. La tecnología FlexiRemap®, gracias a un enfoque completamente diferente para organizar el espacio de almacenamiento, no solo supera fácilmente esta barrera, sino que también aumenta simultáneamente la vida útil de los SSD. Por lo tanto, los sistemas AccelStor tienen serias ventajas entre todos los arreglos Flash en muchos frentes (IOPS / $, GB / $, TCO, ROI), lo que los convierte en candidatos ideales para puestos clave en centros de datos de clientes para resolver tareas que requieren muchos recursos.

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


All Articles