RT Dissertation/Thesis T1 New cross-layer techniques for multi-criteria scheduling in large-scale systems A1 Cascajo García, Alberto AB The global ecosystem of information technology (IT) is in transition to a new generationof applications that require more and more intensive data acquisition, processing andstorage systems. As a result of that change towards data intensive computing, there is agrowing overlap between high performance computing (HPC) and Big Data techniques inapplications, since many HPC applications produce large volumes of data, and Big Dataneeds HPC capabilities.The hypothesis of this PhD. thesis is that the potential interoperability and convergenceof the HPC and Big Data systems are crucial for the future, being essential the unificationof both paradigms to address a broad spectrum of research domains. For this reason, themain objective of this Phd. thesis is purposing and developing a monitoring system toallow the HPC and Big Data convergence, thanks to giving information about behaviors ofapplications in a system which execute both kind of them, giving information to improvescalability, data locality, and to allow adaptability to large scale computers. To achievethis goal, this work is focused on the design of resource monitoring and discovery toexploit parallelism at all levels. These collected data are disseminated to facilitate globalimprovements at the whole system, and, thus, avoid mismatches between layers. Theresult is a two-level monitoring framework (both at node and application level) witha low computational load, scalable, and that can communicate with different modulesthanks to an API provided for this purpose. All data collected is disseminated to facilitatethe implementation of improvements globally throughout the system, and thus avoidmismatches between layers, which combined with the techniques applied to deal with faulttolerance, makes the system robust and with high availability.On the other hand, the developed framework includes a task scheduler capable of managingthe launch of applications, their migration between nodes, as well as the possibilityof dynamically increasing or decreasing the number of processes. All these thanks to thecooperation with other modules that are integrated into LIMITLESS, and whose objectiveis to optimize the execution of a stack of applications based on multi-criteria policies. Thisscheduling mode is called coarse-grain scheduling based on monitoring.For better performance and in order to further reduce the overhead during the monitorization,different optimizations have been applied at different levels to try to reducecommunications between components, while trying to avoid the loss of information. Toachieve this objective, data filtering techniques, Machine Learning (ML) algorithms, andNeural Networks (NN) have been used.In order to improve the scheduling process and to design new multi-criteria schedulingpolicies, the monitoring information has been combined with other ML algorithms toidentify (through classification algorithms) the applications and their execution phases,doing offline profiling. Thanks to this feature, LIMITLESS can detect which phase is executing an application and tries to share the computational resources with other applicationsthat are compatible (there is no performance degradation between them when both arerunning at the same time). This feature is called fine-grain scheduling, and can reduce themakespan of the use cases while makes efficient use of the computational resources thatother applications do not use. AB El ecosistema global de las tecnologías de la información (IT) se encuentra en transicióna una nueva generación de aplicaciones que requieren sistemas de adquisición de datos,procesamiento y almacenamiento cada vez más intensivo. Como resultado de ese cambiohacia la computación intensiva de datos, existe una superposición, cada vez mayor, entrela computación de alto rendimiento (HPC) y las técnicas Big Data en las aplicaciones,pues muchas aplicaciones HPC producen grandes volúmenes de datos, y Big Data necesitacapacidades HPC.La hipótesis de esta tesis es que hay un gran potencial en la interoperabilidad yconvergencia de los sistemas HPC y Big Data, siendo crucial para el futuro tratar unaunificación de ambos para hacer frente a un amplio espectro de problemas de investigación.Por lo tanto, el objetivo principal de esta tesis es la propuesta y desarrollo de un sistemade monitorización que facilite la convergencia de los paradigmas HPC y Big Data graciasa la provisión de datos sobre el comportamiento de las aplicaciones en un entorno enel que se pueden ejecutar aplicaciones de ambos mundos, ofreciendo información útilpara mejorar la escalabilidad, la explotación de la localidad de datos y la adaptabilidaden los computadores de gran escala. Para lograr este objetivo, el foco se ha centrado enel diseño de mecanismos de monitorización y localización de recursos para explotar elparalelismo en todos los niveles de la pila del software. El resultado es un frameworkde monitorización en dos niveles (tanto a nivel de nodo como de aplicación) con unabaja carga computacional, escalable, y que se puede comunicar con distintos módulosgracias a una API proporcionada para tal objetivo. Todos datos recolectados se difundenpara facilitar la realización de mejoras de manera global en todo el sistema, y así evitardesajustes entre capas, lo que combinado con las técnicas aplicadas para lidiar con latolerancia a fallos, hace que el sistema sea robusto y con una alta disponibilidad.Por otro lado, el framework desarrollado incluye un planificador de tareas capaz degestionar el lanzamiento de aplicaciones, la migración de las mismas entre nodos, ademásde la posibilidad de incrementar o disminuir su número de procesos de forma dinámica.Todo ello gracias a la cooperación con otros módulos que se integran en LIMITLESS, ycuyo objetivo es optimizar la ejecución de una pila de aplicaciones en base a políticasmulticriterio. Esta funcionalidad se llama planificación de grano grueso.Para un mejor desempeño y con el objetivo de reducir más aún la carga durante laejecución, se han aplicado distintas optimizaciones en distintos niveles para tratar dereducir las comunicaciones entre componentes, a la vez que se trata de evitar la pérdidade información. Para lograr este objetivo se ha hecho uso de técnicas de filtrado de datos,algoritmos de Machine Learning (ML), y Redes Neuronales (NN).Finalmente, para obtener mejores resultados en la planificación de aplicaciones ypara diseñar nuevas políticas de planificación multi-criterio, los datos de monitorización recolectados han sido combinados con nuevos algoritmos de ML para identificar (pormedio de algoritmos de clasificación) aplicaciones y sus fases de ejecución. Todo ellorealizando tareas de profiling offline. Gracias a estas técnicas, LIMITLESS puede detectaren qué fase de su ejecución se encuentra una determinada aplicación e intentar compartir losrecursos de computacionales con otras aplicaciones que sean compatibles (no se produceuna degradación del rendimiento entre ellas cuando ambas se ejecutan a la vez en el mismonodo). Esta funcionalidad se llama planificación de grano fino y puede reducir el tiempototal de ejecución de la pila de aplicaciones en los casos de uso porque realiza un uso máseficiente de los recursos de las máquinas. YR 2021 FD 2021-12 LK https://hdl.handle.net/10016/34217 UL https://hdl.handle.net/10016/34217 LA eng NO This PhD dissertation has been partially supported by the Spanish Ministry of Science and Innovation under an FPI fellowship associated to a National Project with reference TIN2016-79637-P (from July 1,2018 to October 10, 2021) DS e-Archivo RD 18 jul. 2024