Desarrollo de un algoritmo de Instance Placement en nubes privadas que soporte cargas de Alta Performance - Córdova Alvarado, Rubén Francisco (2023)
El aumento de la capacidad computacional ha permitido el uso cada vez mayor de métodos computacionales para resolver problemas complejos de diferentes áreas, logrando tal incremento en la eficiencia y productividad que se dice que hemos empezado una nueva revolución industrial (la era del conocimiento). En esta nueva era, el uso de aplicaciones de alta, High-Performance Computing en inglés (HPC), es cada vez más común. Una forma de utilizar de manera eficiente los recursos computacionales es desplegar estas aplicaciones sobre recursos compartidos (paradigma de computo en la nube, sea esta pública o privada) en lugar de asignarlos a servidores de manera exclusiva, lo que puede resultar en tiempos muertos en el uso de alguno o todos los recursos. El problema de decidir la mejor forma de compartir recursos asignados a servidores ya sea como máquinas virtuales (VMs), contenedores, o en modo dedicado (bare metal) es llamado el problema de Instance Placement, y es fundamental para la performance de una plataforma de computo en la nube. El subproblema que se presenta cuando ya se decidió una asignación via VMs es el de VM Placement. El problema de Instance Placement es actualmente un problema abierto debido a que la solución online requiere el conocimiento no sólo de las demandas actuales y sus parámetros, sino también de las demandas futuras. Como un primer acercamiento a una solución, esta tesis busca diseñar e implementar un algoritmo de Offline Instance Placement donde el conjunto de demandas, su inicio y duración, así como sus estadísticas de uso son conocidas. El algoritmo busca asignar –de la mejor manera posible– los recursos de cómputo a instancias en una nube privada, considerando el tipo de carga a la que estas pertenecen y su nivel de servicio. Debido a que OpenStack es una de las soluciones más empleadas para nubes privadas, se toma como referencia el scheduler de OpenStack para comparar la utilidad de el algoritmo propuesto. Luego de realizar las pruebas, se obtuvo que el scheduler propuesto presenta una mayor utilidad que el scheduler de OpenStack para distintos tipos de cargas.