Performance Anomaly Detection in HPC

  1. Soliman Mohamed Nor Halawa, Mohamed
Dirixida por:
  1. Rebeca Díaz Redondo Director
  2. Ana Fernández Vilas Co-director

Universidade de defensa: Universidade de Vigo

Fecha de defensa: 06 de outubro de 2021

Tribunal:
  1. Nashwa Elbendary Presidente/a
  2. Cristina López Bravo Secretaria
  3. Jordi Forné Muñoz Vogal
Departamento:
  1. Enxeñaría telemática

Tipo: Tese

Resumo

En la actualidad, la investigación en diferentes áreas depende en gran medida de tareas de cálculo intensivo y/o simulaciones complejas. Los sistemas de computación de alto rendimiento (HPC) proporcionan la infraestructura de computación necesaria para llevar a cabo estas tareas, lo que hace que los sistemas HPC sean esenciales para el avance de la investigación científica debido a su importante capacidad de procesamiento y velocidad. La creciente demanda de sistemas HPC ha llevado a muchos centros de datos en la nube a ofrecer sistemas HPC como IaaS. La computación en la nube ha adoptado también los marcos de la HPC y se ha convertido en un complemento de los clústeres locales. La nube HPC se ocupa de la utilización de recursos para ejecutar aplicaciones HPC. Los marcos de HPC en la nube se centran principalmente en la ejecución de aplicaciones HPC, que pueden clasificarse en los siguientes tipos: paralelas, paralelas iterativas, paralelas embarazosas, intensivas de datos o aplicaciones de flujos de trabajo. Sin embargo, los sistemas HPC son sistemas inherentemente complejos y costosos que incluyen cientos de nodos computacionales utilizados para ejecutar un número elevado de trabajos enviados por los usuarios diariamente. Estos trabajos se clasifican en dos tipos: trabajos del sistema (operacionales) y trabajos del usuario (no operacionales). Los trabajos operacionales son aquellos que tienen una naturaleza sistemática y son esenciales para el funcionamiento del sistema, como las actualizaciones programadas del sistema, las comprobaciones de los sensores y las copias de seguridad. Por otro lado, los trabajos no operacionales son aquellos creados e iniciados por el usuario, que tienen una naturaleza no sistemática. Cada uno de estos trabajos puede ser ejecutado de forma paralela en varios nodos dependiendo del tamaño y la potencia de cálculo necesaria para su ejecución. Estos nodos se monitorizan mediante los sistemas de monitorización HPC para garantizar su fiabilidad. Los sistemas de monitorización comprueban constantemente el rendimiento de cada uno de los numerosos nodos recogiendo la información obtenida por los sensores. Estos indicadores de rendimiento, también conocidos como Key Performance Indicators o KPI, suelen agruparse en diferentes categorías, como el uso de la CPU, el uso de la memoria, el tráfico de red y otros sensores de hardware. La información recibida suele almacenarse en forma de series temporales: cada valor consta de la lectura (valor del KPI) y el momento (fecha y hora) en que se recogió. Estos KPIs recogidos pueden ser procesados con diferentes fines: detección de anomalías, asignación óptima de recursos, visualización, segmentación, identificación de patrones, análisis de tendencias, previsión, indexación, clustering, etc. Sin embargo, los administradores de sistemas HPC se enfrentan a muchos retos para mantener unos estándares de rendimiento del servicio elevados que repercutan positivamente en la experiencia del consumidor. Cualquier limitación o acortamiento puede causar importantes pérdidas económicas tanto a los proveedores de HPC como a las empresas. Por lo tanto, los sistemas HPC deben solucionar rápidamente los problemas e identificar las anomalías de rendimiento e indicar a los administradores del sistema que tomen las medidas adecuadas para resolver estos problemas. Sin embargo, la resolución manual de problemas es una tarea extremadamente difícil en estos complejos sistemas. Además, la enorme cantidad de KPIs generados por estos sistemas de monitorización puede afectar negativamente a la identificación de la raíz de la causa de estas anomalías de rendimiento. Por esta razón, la resolución de problemas de HPC ha animado a muchos investigadores a desarrollar herramientas y métodos para ayudar a identificar estas anomalías de rendimiento y hacer que estos sistemas sean más fiables. Los investigadores suelen tener dos métodos para detectar las anomalías de rendimiento. El primer método se centra en la detección de anomalías basadas en los requisitos de rendimiento, que son las anomalías que no satisfacen estos requisitos especificados por el proveedor de servicios o a través de los SLA. Por otro lado, el segundo método se centra en la detección de anomalías basadas en desviaciones del rendimiento normal, que son las anomalías sin requisitos de rendimiento específicos. Aun así, su rendimiento difiere del normal. En esta tesis, sólo consideramos el segundo método de detección de anomalías para identificarlas en trabajos no operacionales, ya que este tipo de trabajos de los usuarios no tienen requisitos de rendimiento específicos debido a su naturaleza no sistemática. En este caso, un experto en el ámbito debe definir manualmente un valor umbral para que la desviación del rendimiento se considere una anomalía. Las variaciones de rendimiento de los KPIs de la infraestructura de software o hardware de HPC pueden indicar potencialmente la existencia de anomalías de rendimiento, lo que resulta ser uno de los retos cruciales a los que se enfrentan los administradores de sistemas HPC. Estas anomalías de rendimiento pueden deberse a muchas razones, como la contención de recursos, la reducción del rendimiento y el desperdicio de recursos, así como a problemas relacionados con el software y el firmware. La omisión de la detección de estas anomalías puede llevar eventualmente al fracaso del trabajo. Por lo tanto, los administradores de sistemas HPC deben detectar estas anomalías de rendimiento utilizando los KPIs e identificar el origen del problema para resolverlo rápidamente. Sin embargo, el análisis de estos datos de series temporales de KPIs se enfrenta a algunos retos comunes y problemas computacionales costosos como el gran volumen de datos, la falta de datos anotados, la gran dimensionalidad de los datos. • Gran volumen de datos: Los sistemas HPC incluyen cientos de nodos computacionales utilizados para ejecutar un número elevado de trabajos enviados por los usuarios diariamente, donde cada nodo genera un gran número de KPIs (en un centro de datos mediano el número es de aproximadamente 4000 KPIs), por lo que la selección del conjunto de KPIs más adecuado para el análisis de los trabajos es un aspecto clave. Además, el análisis de los datos de las series temporales de KPIs suele ser multidimensional. El análisis de este tamaño de datos es más difícil de manejar para cualquier algoritmo. • Falta de datos anotados: Los datos de series temporales de KPIs suelen estar disponibles sin etiquetar. Por ello, los enfoques no supervisados, como el clustering, se consideran los más adecuados para afrontar el análisis de las series temporales de KPIs. El clustering de series temporales ayuda a identificar patrones de comportamientos de rendimiento agrupando series temporales similares mediante la comparación de similitudes, en la que se tienen en cuenta las longitudes completas de las series temporales a la hora de medir la distancia. Sin embargo, el cálculo de la distancia no es una tarea sencilla, ya que los datos de las series temporales son intrínsecamente ruidosos y contienen valores extremos y desplazamientos. Además, hay que medir la distancia entre todas las series temporales de KPIs, aunque su longitud pueda ser diferente. Debido a estos obstáculos, medir la similitud de las series temporales ha sido una tarea difícil para los investigadores. • Gran dimensionalidad de los datos: Dado que cada trabajo HPC se ejecuta en paralelo en varios nodos, el análisis de los datos de las series temporales de los KPIs suele ser multidimensional. Como resultado, el análisis de este tamaño de datos es más difícil de manejar para cualquier algoritmo, lo que puede causar problemas como estimaciones muy sesgadas y disminución del rendimiento de la agrupación. Por lo tanto, las técnicas de reducción de la dimensionalidad desempeñan un papel importante en la mejora del rendimiento y la velocidad del análisis de las series temporales. La reducción de la dimensionalidad es un paso de preprocesamiento en el análisis de series temporales, que transforma una representación de datos de alta dimensión en una representación de datos de baja dimensión. Este paso de reducción reducirá la memoria necesaria, ya que no se almacenan las series temporales en bruto en la memoria principal, y también reducirá la potencia de cálculo necesaria para calcular la distancia entre las series temporales y ayudar a identificar los clústeres de calidad. Contribuciones Como se ha mencionado anteriormente, el reto de analizar los datos recogidos por los sistemas de monitorización HPC es la enorme cantidad de información recogida. Cada nodo de computación es monitorizado por un conjunto de sensores que muestrean la información de un gran número de variables o KPIs (uso de CPU, temperatura, humedad, uso de memoria, etc.) y almacenan estos datos como un conjunto de series temporales, una por KPI. Cada trabajo, que se ejecuta en un conjunto de nodos, tiene tantos datos sobre su comportamiento como los KPIs de todos los nodos donde se ejecuta. Por lo tanto, el objetivo central de esta tesis es tratar de utilizar técnicas de análisis de datos para analizar la información de los KPIs del HPC y poder contribuir en las tareas habituales del personal de los centros HPC, como por ejemplo identificar cuándo puede estar ocurriendo un problema diferenciando el comportamiento normal y anómalo de los trabajos. Para lograr este objetivo, se proponen tres metodologías diferentes para identificar anomalías en series temporales de KPIs de trabajos HPC univariable y multivariable. Las metodologías propuestas emplean técnicas supervisadas y no supervisadas para el análisis de series temporales. Las metodologías propuestas analizaron series temporales para identificar dos perspectivas diferentes de anomalías en las series temporales. La primera perspectiva consiste en identificar anomalías puntuales en series temporales univariable. Para ello, utilizamos técnicas supervisadas (clasificación) para detectar los puntos anómalos en una serie temporal univariable de trabajos HPC (en el capítulo ‎5). La segunda perspectiva consiste en identificar las anomalías de toda una serie temporal en una serie temporal multivariable. Sin embargo, esta perspectiva de las anomalías se enfrenta a muchos problemas de dimensionalidad al tratar con series temporales multivariable. En la segunda y tercera metodologías, se intentó superar el problema de la alta dimensionalidad (inherente a las series temporales y agravado por la enorme cantidad de datos recogidos) en cuanto a sus características. Por lo tanto, estas metodologías aplicaron técnicas no supervisadas (Clustering) para detectar trabajos anómalos en el HPC basados en una serie temporal de KPIs multivariable. También se emplearon diferentes técnicas de reducción de la dimensionalidad en cada metodología para disminuir los datos de la serie temporal de KPIs multivariable para el clúster. La primera técnica de reducción de la dimensionalidad fue la selección de características, que selecciona sólo aquellas relevantes para la agrupación de trabajos, asumiendo que estas características suelen estar correlacionadas y redundantes, y que se aplicó en la segunda metodología propuesta (en el capítulo ‎6). La segunda técnica de reducción de la dimensionalidad es la extracción de características, que extrae el comportamiento estadístico o los parámetros globales (tendencia, estacionalidad, asimetría, periodicidad, etc.) de las series temporales, que se aplicó en la tercera metodología propuesta (en el capítulo ‎7). Finalmente, se compararon los resultados de ambas metodologías de clustering para identificar el método que predice con precisión los diferentes grupos de trabajos que se ejecutan en el sistema HPC. En el marco de la cooperación entre la Universidade de Vigo y el CESGA, nos hemos beneficiado del apoyo ofrecido por los expertos de este Centro para la validación de nuestras metodologías. El Centro de Supercomputación de Galicia (CESGA) es una entidad sin ánimo de lucro que tiene como misión contribuir al avance de la Ciencia y el Conocimiento Técnico mediante la investigación y aplicación de la computación de altas prestaciones y las comunicaciones, así como de otros recursos de las tecnologías de la información. El CESGA ofrece diferentes plataformas de computación con distintas arquitecturas disponibles para ayudar a los usuarios a seleccionar la que mejor se adapte a sus necesidades de cálculo. Estas plataformas ofrecen cientos de nodos para que los usuarios puedan enviar sus trabajos. Estos nodos están controlados por más de 44.280 KPI de diferentes categorías. Por lo tanto, en el marco de la cooperación Universidade de Vigo - CESGA, se extrajeron múltiples conjuntos de datos de KPIs y se utilizaron para validar nuestras metodologías de clasificación y clustering propuestas. Algunos de estos conjuntos de datos fueron etiquetados manualmente por los expertos del CESGA, y otros no fueron etiquetados. Estos KPIs pertenecían a cinco categorías (uso de la CPU, uso de la memoria, carga del sistema, IPMI e interfaz de red) y se seleccionaron según su importancia y su clara representación del rendimiento de los trabajos, en los que sus contribuciones en estas metodologías propuestas fueron (i) proporcionar el mejor método de clasificación capaz de predecir puntos anómalos en una serie temporal de KPIs de trabajos univariable; (ii) proporcionar un método basado en clustering capaz de identificar grupos de trabajos que fueron ejecutados en sistemas HPC; (iii) simplificar el problema computacional analizando los diferentes KPIs para determinar cuáles eran los más adecuados para este tipo de clustering; (iv) proporcionar el mejor algoritmo de clustering para identificar los diferentes tipos de trabajos HPC según su rendimiento; (v) proporcionar la mejor técnica de reducción de la dimensionalidad para representar las series temporales de KPIs HPC para su clustering. Las metodologías propuestas podrían aplicarse en cualquier HPC para obtener clústeres que identifiquen los diferentes tipos de trabajos en ejecución. Los clústeres resultantes constituyeron la base para un análisis posterior que permitiera la identificación de anomalías en los trabajos. Además, las metodologías de clustering abordaron el problema de la visualización del clustering para datos masivos. Se propone aplicar el mismo mecanismo de selección de características para la agrupación con el fin de centrar las tareas de visualización únicamente en las dos y tres características más relevantes para crear un gráfico 2D y 3D, respectivamente. Este trabajo se describe en detalle en ocho capítulos de la tesis, que se organiza de la siguiente manera: El capítulo 1 presenta una breve introducción de los sistemas HPC y sus retos, la motivación y la contribución de la investigación. El capítulo 2 presenta una breve reseña del método utilizado para el análisis de series temporales. El capítulo cubre las diferentes definiciones de los conjuntos de datos de series temporales, las técnicas supervisadas y no supervisadas para analizar los datos de series temporales, las diferentes medidas de distancia y las diferentes opciones de validación utilizadas para ayudarnos a validar nuestros resultados de clasificación y clúster. Por último, también explicamos cómo tratar una gran cantidad de datos utilizando técnicas de reducción de la dimensionalidad. El capítulo 3 revisa la literatura sobre los métodos utilizados para el análisis de series temporales. El capítulo abarca las técnicas supervisadas y no supervisadas para analizar los datos de series temporales y los métodos utilizados para superar algunos de los retos a los que se enfrenta el análisis de datos de series temporales. En el capítulo 4 se describen los conjuntos de datos de investigación experimental utilizados para modelar y evaluar las metodologías propuestas. El capítulo incluye una breve descripción de los conjuntos de datos utilizados en nuestra investigación y su descripción detallada. El capítulo 5 describe la metodología supervisada utilizada para alcanzar los objetivos de la investigación. El capítulo incluye un estudio comparativo de los métodos supervisados para detectar puntos anómalos en los datos de series temporales de KPIs de trabajos univariable. Los capítulos 6 y 7 describen las metodologías no supervisadas utilizadas para alcanzar los objetivos de la investigación. Estos capítulos incluyen métodos no supervisados para detectar trabajos anómalos en datos de series temporales de KPIs de trabajos multivariable. Además, incluyen el preprocesamiento de los datos de las series temporales y la representación de las características para superar el problema de la dimensionalidad en cada método; finalmente, la configuración experimental y los resultados de cada una de las metodologías propuestas. El capítulo 8 concluye la tesis y el trabajo futuro, incluyendo cómo se cumplieron los objetivos de la investigación y los resultados de la misma, seguido de sugerencias sobre nuestros aspectos de análisis de series temporales que pueden ser ampliados en futuras investigaciones. Resultados El objetivo de esta tesis es detectar automáticamente diferentes tipos de anomalías en los trabajos HPC en función de su rendimiento. Por ello, esta tesis proporciona múltiples metodologías para analizar el rendimiento de los trabajos utilizando las métricas KPI univariable y multivariable proporcionadas por los sistemas de monitorización HPC. Nuestro objetivo fue seleccionar el conjunto de KPIs más adecuado o representativo para analizar los trabajos HPC en función de su rendimiento. Nuestros análisis y validación se realizaron utilizando tres conjuntos de datos reales diferentes obtenidos del Centro de Supercomputación de Galicia (CESGA). Estos conjuntos de datos fueron extraídos de los servidores del CESGA con los KPIs de los trabajos seleccionados en base a las recomendaciones de los expertos que trabajan en el CESGA. Los conjuntos de datos nos proporcionaron información sobre un KPI etiquetado y 11 KPIs no etiquetados de las siguientes categorías: Uso de CPU, Uso de memoria, IPMI, Carga del sistema y Tráfico de red (interfaz). Las metodologías presentadas en esta tesis tuvieron dos métodos en la detección de anomalías en el trabajo HPC. El primer método se centró en la detección de anomalías puntuales en una serie temporal de KPIs de trabajo univariable, que se afrontó en la primera metodología utilizando un enfoque de aprendizaje supervisado. Para ello, se realizó un análisis comparativo de tres algoritmos de ML supervisado: Red Neural, KNN, y Detección de Anomalías Gaussianas utilizando un conjunto de datos etiquetados de una referencia KPI de fabricación (Memcpy), utilizada para medir el rendimiento de la memoria para cada zócalo de la CPU. La comparación del rendimiento del algoritmo mostró que el algoritmo de la red neuronal tiene la mayor precisión entre los otros dos algoritmos en la detección de estas anomalías de puntos en la serie de tiempo de KPI de trabajo HPC. El segundo método se centró en la detección de anomalías de trabajo en una serie temporal de KPIs de trabajo multivariable, que se enfrenta a problemas de alta dimensionalidad debido al gran número y longitud de los KPIs de trabajo multivariable. Por esta razón, se presentaron dos metodologías de clustering utilizando diferentes técnicas de reducción de la dimensionalidad, que ayudaron a superar los problemas de alta dimensionalidad de los KPIs de trabajo multivariable y a mejorar el tiempo de cálculo de los algoritmos de clustering. La primera metodología de clustering utilizó la técnica de reducción de la dimensionalidad: la selección de características representada en el algoritmo PCA para reducir los KPIs de trabajo multivariable. Esta metodología se probó utilizando dos tipos diferentes de experimentos de clustering para agrupar el trabajo HPC y para seleccionar los KPIs más adecuados para agrupar los trabajos HPC. El experimento dos realizó el clustering combinando la información recogida de los 11 KPIs, mientras que el experimento tres realizó el clustering individual para cada uno de los 11 KPIs. Ambos experimentos se realizaron utilizando diferentes algoritmos de agrupación (K-means y algoritmo jerárquico aglomerativo), utilizando diferentes métodos de vinculación (amalgamamiento simple, amalgamamiento completo, medio y método de Ward) y utilizando diferentes métricas de distancia (euclidiana, Manhattan y coseno). Para evaluar la calidad de los clústeres obtenidos, también hemos utilizado diferentes índices (Silhouette, Calinski-Harabasz y Davies-Boulding). Antes de realizar el clustering, hemos aplicado PCA para reducir la dimensionalidad de los datos sin perder información, para reducir la carga computacional de los algoritmos. Finalmente, se ha realizado un experimento de clustering basado únicamente en los dos KPIs seleccionados (RX y TX) con el objetivo de validar nuestro enfoque. Para ello, hemos obtenido un nuevo conjunto de datos con 1.500 trabajos desde el 1 de agosto de 2019 hasta el 31 de septiembre de 2019. Los resultados confirmaron nuestra propuesta. Nuestro análisis concluyó que el clustering basado en la información conjunta dada por los 11 KPIs se comportó peor que el clustering basado en los KPIs individuales. Además, los resultados mostraron que la información proporcionada por los KPIs pertenecientes al tráfico de la red son los más adecuados. Los clústeres obtenidos con la información de estos KPIs mostraron la mejor calidad en términos de cohesión y separación de los trabajos HPC. Más concretamente, la visualización de los clústeres de KPI RX mostró un alto porcentaje de trabajos con tendencias similares. Por lo tanto, nuestra metodología puede aplicarse a cualquier conjunto de datos con información sobre estos dos KPI para obtener una buena agrupación e inferir el número de tipos de trabajos no operacionales que se ejecutan en el sistema HPC. El procedimiento es sencillo y ofrece una solución a algunos de los retos a los que se enfrentan otras experimentaciones cuando se trata de datos similares no etiquetados con una gran dimensionalidad. Además, hemos comprobado que el mecanismo aplicado para la reducción de la dimensionalidad (PCA fijo) admite un buen porcentaje de información retenida y estamos trabajando para mejorar este aspecto. Como se menciona en la literatura, el problema con la función de coste utilizada en PCA conlleva que se retengan grandes distancias entre pares en lugar de centrarse en retener pequeñas distancias entre pares, que suele ser mucho más importante. La solución dada en es definir una función de coste específica basada en una función objetiva no convexa. Actualmente estamos definiendo esta nueva función de coste utilizando un conjunto de datos más amplio obtenido del mismo centro HPC. La segunda metodología de clustering utilizó ambas técnicas de reducción de la dimensionalidad: la extracción de características representada en Tsfresh y la selección de características representada en la literatura especializada de doble enfoque y el umbral de varianza para reducir los datos multivariable de los KPIs de trabajo. La metodología afronta el análisis de las series temporales de KPIs recogidas en función de sus características extraídas, normalmente relacionadas con el comportamiento estadístico o los parámetros globales (tendencia, estacionalidad, asimetría, periodicidad, etc.). La idea subyacente es seleccionar sólo aquellas características que son relevantes para la agrupación de trabajos, asumiendo que estas características suelen estar correlacionadas y redundantes. Nos propusimos abordar este problema con un doble enfoque: por un lado, seleccionando las características a partir de la información recogida en la bibliografía especializada que se puso a prueba en el experimento cinco. En este experimento, los once KPI se agruparon por separado utilizando características basadas en la literatura previamente filtrada. Por otro lado, seleccionando las características en función de un umbral para su varianza (cuanto mayor sea su varianza, más relevante) y probado en el experimento seis. En este experimento, los once KPI se agruparon de forma combinada utilizando sus características filtradas en base a tres umbrales de varianza seleccionados (80%, 85%, 90%). Ambos experimentos concluyeron que el mejor enfoque es la agrupación de la información proporcionada por los 11 KPIs combinados utilizando un umbral del 85% de la selección de características basado en la varianza. Este enfoque proporciona la mejor cohesión y separación de clústeres. Como complemento a esta metodología de agrupación, también hemos definido un procedimiento de visualización de los clústeres obtenidos. En primer lugar, clasificamos las características seleccionadas para la agrupación en función de su varianza, con el fin de seleccionar las dos y tres más importantes. Después, estas dos y tres características principales pueden visualizar fácilmente los clústeres obtenidos en un gráfico 2D y 3D, respectivamente. Los resultados muestran que las técnicas de reducción de la dimensionalidad utilizadas en la segunda metodología de clustering y la primera metodología de clustering basada en PCA permiten una forma adecuada de agrupar los trabajos y muestran la conveniencia de utilizar los KPIs relacionados con el uso de la CPU (IDLE, SYSTEM) como los más adecuados para agrupar los trabajos HPC. En nuestra opinión, esta fase de clustering debería considerarse la primera etapa de un procedimiento más amplio para detectar anomalías en los sistemas HPC. De hecho, actualmente estamos trabajando en el análisis de esta categorización. Consideramos que los clústeres obtenidos ayudarían a inferir características similares de los trabajos pertenecientes a cada clúster que, en definitiva, podrían dar información para detectar aquellos trabajos cuyo rendimiento no es el esperado y poder detectar precozmente potenciales anomalías en el sistema. Los enfoques supervisados y no supervisados propuestos en esta tesis alcanzaron sus objetivos con algunos límites relacionados con el número de KPI analizados, el número de características extraídas y los tipos de algoritmos empleados. A continuación, se presentan sugerencias para futuros estudios recomendados en base a estos límites: En primer lugar, en lo que respecta al enfoque supervisado, se necesitan más conjuntos de datos de KPI anotados para mejorar la fase de entrenamiento del modelo supervisado y ser más precisos en la identificación de nuevas anomalías, lo que añadirá más validación a nuestro enfoque propuesto. En segundo lugar, en lo que respecta a los enfoques no supervisados, los KPIs analizados seleccionados por la recomendación de expertos del CESGA podrían ampliarse para cubrir más KPIs potencialmente valiosos para nuestros enfoques de análisis. Estos KPIs adicionales pueden ofrecer una descripción más amplia del rendimiento del trabajo, impactando positivamente en los resultados del clustering y proporcionando una comparación más amplia entre los KPIs que destaquen los más adecuados para representar los trabajos HPC para el clustering. Sin embargo, es necesario tener en cuenta la potencia de cálculo necesaria para ejecutar dicho análisis. Además, la alta dimensionalidad de los datos de series temporales multivariable de HPC sigue siendo un problema abierto en la comunidad de análisis de datos. A medida que se incorporan más KPI al análisis, se necesitan más esfuerzos de investigación para desarrollar nuevas técnicas de reducción o para mejorar las existentes, a fin de reducir el tamaño de estos datos para que cualquier algoritmo pueda manejarlos. Además, en la búsqueda de mejorar la precisión de los enfoques de agrupación de series temporales propuestos, podrían implementarse enfoques de agrupación adicionales con diferentes medidas de distancia (por ejemplo, DTW) en función del tipo de transformación de datos resultante de la técnica de reducción de datos aplicada. Trabajo futuro Las anomalías detectadas en este trabajo no indican el tipo de anomalías que existen. Se podría llevar a cabo una investigación posterior de los trabajos detectados como anomalías con la ayuda de expertos en HPC, lo que en última instancia señalará las causas principales de estas anomalías e identificará un patrón de rendimiento previo de cada tipo de anomalía específica. Los resultados de esta investigación se utilizarán para etiquetar estas anomalías de trabajo y actualizar los modelos supervisados con anomalías recién etiquetadas para futuras predicciones. Además, los clústeres resultantes de la propuesta de agrupación basada en la extracción de características utilizando el umbral del 85%, que resultó prometedor, constituyen la base para construir un modelo de predicción de anomalías laborales. Este modelo será una herramienta útil para que los ingenieros y técnicos de HPC DevOps identifiquen rápidamente los trabajos/nodos que muestran un comportamiento inesperado. La aplicación activará una alerta si los KPIs de un trabajo/nodo tienen un comportamiento similar a los del clúster de trabajos con anomalías. Además, esta herramienta proporcionaría a los ingenieros y técnicos de HPC DevOps información relevante sobre las anomalías detectadas mediante la visualización de las métricas de los KPI con comportamiento inesperado en el panel de control de la aplicación. Esto contribuiría a identificar la raíz del problema de manera oportuna y a resolver el problema lo antes posible. Además, se pueden emplear otros enfoques de redes neuronales artificiales que funcionan bien con datos de series temporales, como la memoria a largo plazo (LSTM) y el autocodificador, para prever el uso de recursos esenciales de los nodos (por ejemplo, el consumo de energía y la memoria) que ejecutan diferentes trabajos de HPC. La LSTM implica bucles en los que la salida de un único intervalo de tiempo se da como entrada en el siguiente intervalo de tiempo. Este enfoque evita el problema de la dependencia a largo plazo de las redes neuronales recurrentes tradicionales, que no recuerdan la información durante un periodo prolongado, lo que afecta a la precisión del modelo de previsión. Además, el enfoque de la red neuronal autoencoder pretende aprender a reproducir los vectores de entrada a partir de su propia representación comprimida, donde las anomalías pueden detectarse calculando la pérdida de reconstrucción entre las entradas y los vectores de reproducción. La característica de activación no lineal del autocodificador y varias capas pueden realizar transformaciones no lineales utilizando el entrenamiento de múltiples capas de forma más eficaz que el entrenamiento de una única gran transformación con PCA.