Aprendizaje por Refuerzo Offline y Online para el Autoescalado de Workflows Científicos en Cloud - Núñez, Yisel Garí (2021)
Las tecnologías de workflow juegan un papel fundamental en el modelado de experimentos complejos en diferentes disciplinas científicas, facilitando la división de grandes procesos en un conjunto de componentes individualmente reutilizables conectados mediante dependencias. Dichos componentes definen las tareas que un workflow debe realizar para el logro de un objetivo particular. De esta manera, las herramientas desarrolladas en torno a los workflows permiten a los desarrolladores afrontarla complejidad computacional creciente de las aplicaciones científicas. Asimismo, el aumento en la envergadura de los experimentos diseñados actualmente conlleva una necesidad creciente de recursos de cómputo cada vez más potentes, redes de mayor velocidad así como mecanismos más sofisticados para gestionar la ejecución de las aplicaciones. El paradigma de computación Cloud facilita el acceso a los recursos computacionales necesarios para la ejecución de los workflow científicos. Mediante estrategias de virtualización, los proveedores de Clouds públicas ofrecen recursos elásticos casi ilimitados a sus usuarios, bajo un esquema de pago por uso. De esta forma, los usuarios pueden acceder a un amplio espectro de configuraciones de hardwarey software, donde cada tipo de Máquina Virtual (MV) tiene un costo asociado dependiendo de sus prestaciones. Cloud se muestra entonces como un entorno con gran potencial para la ejecución eficiente delos workflows, ya que haciendo un uso inteligente de los recursos es posible reducir el tiempo de ejecución y los costos económicos. Las estrategias de auto escalado explotan la elasticidad de Cloud para hacer frente a las demandas computacionales dinámicas de los workflows. Periódicamente dichas estrategias escalan la infraestructura, adquiriendo y/o terminando instancias de MVs con diferentes prestaciones. También de forma periódica, las estrategias planifican eficientemente las tareas en las instancias disponibles. En general, las estrategias de autoescalado toman decisiones de escalado y planificación para optimizar determinados objetivos como pueden ser el tiempo de ejecución y el costo económico. Este es un problema desafiante considerando la dificultad que representa determinar las mejores decisiones en un entorno con múltiples elementos de incertidumbre, por ejemplo desempeño variable e impredecible dé una infraestructura virtualizada, fluctuaciones en los precios y posibles fallos. El Aprendizaje por Refuerzo (AR) propone un enfoque computacional para problemas de toma de decisiones, donde un agente actuando en un entorno con incertidumbre, aprende a asociar situaciones con acciones adecuadas mientras maximiza una señal numérica de recompensa. El agente aprende cuál es el comportamiento adecuado para lograr su objetivo por prueba y error en su interacción con el en-torno. Cuando es posible modelar la dinámica del entorno, el agente puede aprender en modo offline utilizando técnicas específicas para ello. Otra variante consiste en que el agente interactúe directamente con el entorno real aprendiendo en modo online. Esta última variante suele ser más utilizada ya que en muchos problemas no es posible contar con un modelo preciso de la dinámica del entorno o la misma puede cambiar en el tiempo. Las estrategias basadas en AR están siendo ampliamente utilizadas y con muy buenos resultados en áreas como la teoría de juegos, lo que ha motivado su estudio y aplicación en otras áreas como es el caso del autoescalado en Cloud. Sin embargo, en la literatura se encuentran muy pocos trabajos de AR que consideren las aplicaciones de workflow y sus particularidades. Este documento describe dos enfoques basados en AR (offline y online) para el autoescalado de workflows en Cloud. La hipótesis principal que motiva estas propuestas se basa en que considerar los tipos de estructuras de dependencia presentes en los workflows favorece el aprendizaje de mejores políticas de autoescalado. Las variantes de aprendizaje offline y online permiten abordar el problema de autoescalado desde distintas aristas en función de las limitaciones y potencialidades presentes en cada enfoque. En la presente Tesis, ambas propuestas fueron materializadas y validadas en un entorno Cloud simulado, considerando características fundamentales1 como la heterogeneidad y rendimiento variable de los recursos computacionales, diferentes modelos de precios y aplicaciones de workflow intensivas en cómputo y con cargas de trabajo variadas. Además de verificar la factibilidad del aprendizaje en ambos contextos (offline y online), se pudo comprobar que las estructuras de dependencia presentes en los workflows aportan información valiosa para el aprendizaje de políticas adecuadas cuando el objetivo es minimizar tiempo y costo de ejecución. El análisis del estado del arte desarrollado en esta tesis, así como los resultados obtenidos, muestran que se trata de un área de investigación prometedora, con mucha aplicabilidad y factible de continuar siendo explorada en el futuro.