Publication:
Distributed resource provisioning for containers using machine learning and live migration

Thumbnail Image
Authors
Gonzalez-Araya, Alejandro
Embargoed Until
Advisor
Arzuaga, Emmanuel
College
College of Engineering
Department
Department of Electrical and Computer Engineering
Degree Level
M.S.
Publisher
Date
2020-11-04
Abstract
Cloud computing uses pools of virtual machines to provide shared computing resources. Provisioning and management of these resources are usually done using statistical algorithms to help decide how to better utilize available compute power. Recently, this has been performed mostly by using live migration of virtual machines. Nowadays containers provide the flexibility to handle many software environments and tasks in a lighter-weight virtualization scheme, providing a more agile alternative to virtual machines for certain applications. Application checkpointing coupled with a container manager allows the live migration of a container. In this thesis, we use container live-migration and real-time monitoring to develop a cloud resource provisioning platform that enables an improvement in usage and execution of containers. As a result, the available resources can be tuned and distributed in a more efficient manner, providing a better use of cloud. This research explores the use of container live migration techniques to improve cloud resource provisioning. We present the design and development of our container live-migration, monitoring and provisioning toolset as well as a performance evaluation and characterization.

La computación en la nube utiliza grupos de máquinas virtuales para proporcionar recursos informáticos compartidos. El aprovisionamiento y la gestión de estos recursos se realizan generalmente mediante algoritmos estadísticos para ayudar a decidir cómo utilizar los recursos de cómputo disponibles de una mejor manera. Recientemente, esto se ha realizado principalmente mediante la migración en vivo de máquinas virtuales. Hoy en día, los contenedores brindan la flexibilidad para manejar muchos entornos de software y tareas en un esquema de virtualización más liviano, proporcionando una alternativa más ágil a las máquinas virtuales para ciertas aplicaciones. El guardar el estado de una aplicación junto con un administrador de contenedores permite la migración en vivo de un contenedor. En este trabajo, utilizamos la migración en vivo de contenedores y el monitoreo en tiempo real para desarrollar una plataforma de aprovisionamiento de recursos en la nube que permite una mejora en el uso y ejecución de los contenedores. Como resultado, los recursos disponibles se pueden ajustar y distribuir de una manera más eficiente; proporcionando un mejor uso de la nube. Esta investigación explora el uso de técnicas de migración en vivo de contenedores para mejorar el aprovisionamiento de recursos en la nube. Presentamos el diseño y desarrollo de nuestro conjunto de herramientas de migración en vivo, monitoreo y aprovisionamiento de contenedores, así como una evaluación y caracterización del desempeño.
Keywords
Cloud computing,
Containers,
Live Migration,
Performance Monitoring,
Data Streaming
Usage Rights
Except where otherwise noted, this item’s license is described as Attribution-NonCommercial-NoDerivs 3.0 United States
Cite
Gonzalez-Araya, A. (2020). Distributed resource provisioning for containers using machine learning and live migration [Thesis]. Retrieved from https://hdl.handle.net/20.500.11801/2825