PowerMax, la definición de un array Tier 0 con uso de ML (es)

Questo post è disponibile anche in Italiano

No cabe duda que las aplicaciones han evolucionado en el tiempo para generar siempre más valor de los datos. Hoy en día mucho del software se desarrolla para obtener “insights” al interno de los datos, utilizando técnicas de AI (Inteligencia Artificial) que permitan de ofrecer ventajas competitivas al business.

Las nuevas aplicaciones inteligentes de tipo “heavy analytics” con análisis de datos en tiempo real representarán,  según los analistas de mercado, una parte siempre más importante dentro el datacenter. Se estima que para el 2020 el 60-70% de los centros de datos tendrán al menos una aplicación de este tipo. Los datacenter deberán encontrar un modo para gestionar aplicaciones de tipo tradicional junto con este nuevo tipo de aplicaciones.

Debido a la siempre mayor creciente capacidad de los sistemas de storage actuales, una práctica común podría ser hacer convivir los dos tipos de aplicaciones en un único sistema. De hecho, la respuesta del mercado a este tipo de problemática ha sido la consolidación de los datos en un único storage. En particular, los sistemas de tipo AFA se presentan como una buena opción ya que cuando se realiza una consolidación de datos se obtiene un “I/O blend”. Un “I/O blend” es un tipo de workload de tipo random,  donde, los storage de tipo AFA, son los más indicados.

Sin embargo, no será posible predecir el workload de las nuevas aplicaciones que requerirán un altísimo rendimiento y tendrán necesidad de “aprender” de los datos y adaptarse automáticamente a ellos.  En este escenario, los array AFA tradicionales tendrán dificultad a mantener niveles di servicio (SLA) adecuados. Será necesario un tipo de storage, un storage Tier 0 capaz de satisfacer los nuevos requisitos aplicativos. Más allá de la criticidad de mantener los SLA, existe un segundo aspecto de tener en consideración: para poder obtener el máximo beneficio de aplicaciones inteligentes basadas en el uso de algoritmos de Machine Learning (ML) el sistema de storage debe a su vez ser capaz de interactuar al mismo modo.

En este post veremos cosa significa un array de tipo “Tier 0”, el rol del ML en una arquitectura Tier 0,  y cuáles son los desafíos en la realización de un sistema de storage de este tipo.

Tier 0, que cosa es y que cosa define un sistema de storage de tipo Tier 0

Así como en el pasado era una práctica común definir diferentes tipos de Raid dentro un storage para realizar un “tier storage”, hoy en día utilizamos en vez diferentes tipologías de discos; flash y HDD para construir un sistema a más niveles de rendimiento. Si definimos Tier 0 como un array con el máximo rendimiento posible, podemos decir que Tier 0 es un blanco móvil, en el sentido que mientras hasta hace poco los dispositivos más veloces disponible eran los discos flash NAND con acceso SAS,  actualmente la tecnología permite el uso NAND pero con acceso NVMe y en un futuro inmediato esto cambiará a Storage Class Memory (SCM)  + NVMe.

powermax-tier 0-ml-datacenter-challenges
powermax-tier 0-ml-datacenter-challenges

Con el advenimiento del NVMe parecería que la sola adopción de esta tecnología es condición suficiente para definir a  un sistema de storage como altamente performance y por lo tanto de tipo Tier 0. Actualmente es difícil encontrar un array que no sea “NVMe” o NVMe ready”. En realidad, la asunción NVMe = Tier 0 tiene que ver con cuanto el mercado asocia NVMe con mayores rendimiento pero no tiene en consideración los requisitos arquitecturales a nivel del sistema de almacenamiento necesarios para gestionar este nuevo standard.

El siguiente gráfico compara el tiempo de respuesta y el bandwidth de diferentes tecnologías flash. Considerando por el momento solo el rendimiento como definición de un array de tipo Tier 0, resulta claro que para que esta definición sea válida, el array en cuestión debe ser capaz de utilizar tecnología SCM.

powermax-tier 0-ml-nvme-scm-ssd-performance
powermax-tier 0-ml-nvme-scm-ssd-performance

Pruebas de laboratorio demuestran que un solo dispositivo SCM es capaz de generar miles de IOPS y soportar un elevadísimo bandwidth  lo que significa que unos pocos drives SCM son en grado de saturar un array tradicional. Este rendimiento de los dispositivos SCM pone una serie de desafíos a la arquitectura del storage. En particular, costos y gestión.

Gestión: los drives SCM constituirán un futuro nuevo “tier” al interno de un array AFA. Por el momento non se prevén en el mercado sistemas de storage 100% SCM. Definir, pero sobre todo ser capaz de gestionar en modo inteligente un nivel SCM o tier 0 junto con un nivel flash NAND o tier 1 dentro del mismo array servirá a mitigar el costo y utilizar en el mejor modo el media SCM.

A partir de observaciones realizadas teniendo en cuenta la base instalada de sistemas de storage Dell EMC a nivel mundial resulta que, en casi todos los arrays, existe una densidad de I/O que determina la mayor cantidad de trabajo. Esta densidad es de cerca el 10% del espacio del array. En otras palabras, el 90% del trabajo es generado a partir del 10% de los datos.

Utilizar un sistema inteligente que permita proactivamente de colocar esta porción más activa de los datos a nivel del Tier 0 o SCM puede representar, al estado actual de la tecnología,  una solución al problema de balancear costos con rendimiento.

Veamos en el siguiente parágrafo como PowerMax, gracias al empleo de algoritmos de ML.

ML, la nueva frontera en PowerMax para la gestión inteligente de los datos

PowerMax emplea una serie de algoritmos de AI (ML) para aprender en modo autónomo directamente de los datos. Estos algoritmos, gracias a un análisis predictivo con reconocimiento de “pattern”,  permiten al array la autogestión colocando los datos en el tier más adecuado en base a SLA (Service Level Agreement) basados en el tiempo de respuesta requerido a nivel aplicativo.

Estos algoritmos son en grado de reconocer automáticamente las aplicaciones con alto perfil de I/O y mover los datos en tiempo real al tipo de soporte, flash o SCM, apropiado. Los algoritmos utilizados han recibido continuo training durante los últimos años utilizando millones  de datasets provenientes de la telemetría de miles de sistemas Dell EMC presentes a nivel mundial. Actualmente PowerMax es en grado de reconocer cerca 40 millones de tipos diferentes de workloads y efecturar 6 billones de decisiones en base a esta información.

powermax-tier 0-ml-ml in the array
powermax-tier 0-ml-ml in the array

Un ejemplo de algoritmo de ML utilizado al interno di PowerMax es el Markov Cluster Algorithm (MCL). MCL es un tipo di algoritmo de ML no-supervisado. En práctica, su uso es observar un grupo de datos que no se conocen tratando de aprender de estos para ofrecer determinadas conclusiones. MCL en particular, siendo un algoritmo de tipo “clustering” trata de agrupar los datos en base al comportamiento observado, en este caso, en base a un comportamiento de I/O similar.

La mayoría de las implementaciones en otros sistemas de storage utilizan simples técnicas de “linear regression” capaces de observar solo datos del pasado efectuando proyecciones futuras sin aplicar ningún “conocimiento” a los mismos. En PowerMax, en vez,  el ML permite el análisis predictivo. El sistema “busca” y  detecta workload de elevado rendimiento, o sea patrones que requieren un bajo tiempo de respuesta y un gran ancho de banda.

El concepto clave es predecir el futuro, o sea, apenas el sistema encuentra un workload que non había visto nunca antes, pero que en base a su conocimiento de las características observadas tiene un comportamiento de alto rendimiento, el sistema anticipa el movimiento de los datos al nivel de SCM.  De este modo el rendimiento se mantiene siempre al máximo posible que permite la arquitectura.

Cuando PowerMax recibe un I/O a nivel de su DRAM, el algoritmo identifica al interno de “regiones” las características de este I/O, por ejemplo, es una escritura, una lectura, una copia, el block size, la ubicación temporal y espacial, el skew, la frecuencia, etc. Con esta información construye “patterns” y determina si ese I/O puede obtener más beneficios memorizando el dato en el nivel SCM o el nivel SSD NAND.

PowerMax efectúa un muestreo (sampling) y memoriza internamente millones datos de este proceso estocástico de tipo no estacionario. El objetivo final es un sistema capaz de analizar datos en base a principios de uso, actualizar los criterios de toma de decisiones y  mejorar a medida que es utilizado.

ML en PowerMax, otros desarrollos

Hemos visto a grandes líneas como PowerMax utiliza mecanismos de ML al interno del array. Vale la mencionar como PowerMax es también en grado de beneficiar de otros desarrollos en el campo del ML, me refiero a un uso del  ML externo al array, en particular a la integración con PowerPath y CloudIQ.

powermax-tier 0-ml-ml outside the array
powermax-tier 0-ml-ml outside the array

PowerPath: PowerPath es un software de multipathing que, a nivel de los servidores, gestiona en modo automático las rutas de I/O asegurado un mayor rendimiento y disponibilidad a las aplicaciones. PowerPath presenta integraciones con el ML a nivel de PowerMax. El software es ya en grado de reconocer algunas aplicaciones, Oracle y SQL Server por ejemplo y efectuar el “tagging” o marcado de estas aplicaciones.

Esta capacidad de “tagging” permite a PowerPath, entre otras cosas, de direccionar los I/Os de estos aplicativos en modo eficiente.  Por ejemplo, en el caso de Oracle el sistema identifica se el I/O pertenece a un estructura de tipo log, datafile o temp y maneja el I/O en el modo más apropiado.

CloudIQ: CloudIQ es una aplicación de nube, SaaS, que se ejecuta en un cloud seguro de Dell EMC, altamente escalable basado en Dell IT Cloud Foundry. CloudIQ recibe y procesa más de 5 billones de “data points” provenientes de la base instalada de storage Dell EMC a nivel global. CloudIQ analiza estos datos para generar ulteriores “insights” que son sucesivamente enviados a PowerMax  mejorando de este modo sus capacidades de análisis (ML)  local aprendiendo de otros sistemas.

powermax-tier 0-ml-next generation tier 0 storage
powermax-tier 0-ml-next generation tier 0 storage
Para concluir

La definición de un array de tipo Tier 0 no puede prescindir del uso de dispositivos SCM.

El uso de dispositivos SCM pone una serie de desafíos a nivel arquitectural del array, sobre todo en lo que respecta costos y gestión.

Es necesario utilizar técnicas evolucionadas de gestión a livel del array para aprovechar al máximo la nueva tecnología SCM.

PowerMax es, en este momento, el único sistema de almacenamiento de datos presente en el mercado que suportará un verdadero Tier 0 gracias al uso de dispositivos SCM.

El uso de algoritmos de ML es una parte fundamental en el desarrollo de nuevo PowerMax lo que le  permite de incorporar un Tier SCM balanceando en modo efectivo costos con rendimiento.

powermax-tier 0-ml-big-picture
powermax-tier 0-ml-big-picture

 


Para mayor información:

Sistemas de Almacenamiento Dell EMC PowerMax


Este post también está disponible en: Italiano (Italiano)