Edge-service: un framework para planificación de tareas en despliegues edge computing basados en Kubernetes
Loading...
Official URL
Full text at PDC
Publication date
2024
Authors
Advisors (or tutors)
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citation
Abstract
Aunque el uso de Kubernetes está ampliamente extendido en entornos cloud, esta herramienta presenta algunas características que, en entornos de edge computing, tienden a provocar que las cargas de trabajo asignadas a los nodos de cómputo disponibles sufran de tiempos de respuesta demasiado elevados en escenarios dinámicos o altamente heterogéneos, típicos en este tipo de despliegues.
Este trabajo propone un tipo de despliegue alternativo al propuesto originalmente por Kubernetes, denominado edge service. Este despliegue incluye, entre otros componentes, un balanceador de carga que se instala en cada nodo, encargado de solventar los problemas mencionados en el párrafo anterior.
Además, para que el balanceador se adapte lo mejor posible a todo tipo de aplicaciones, se ha desarrollado un framework basado en el lenguaje programación Rust, que permite a un desarrollador crear de forma sencilla un balanceador de carga para un edge service personalizado, que aplique políticas adaptadas a las necesidades propias de su aplicación.
Para demostrar las funcionalidades del framework, este se va a utilizar para desarrollar un sistema de planificación de cargas de inferencia de inteligencia artificial, para un caso de uso real, bajo el contexto del proyecto SMARTBLOOMS para la detección de colonias de cianobacterias en medios acuáticos en base a un despliegue de nodos de cómputo heterogéneos.
Although Kubernetes is widely used in cloud environments, this tool has some characteristics that, in edge computing environments, tend to cause the requests sent to suffer from too high response times in dynamic or highly heterogeneous scenarios, typical on this types of deployments. This project proposes an alternative deployment to the originally proposed by Kubernetes, called Edge-service. This deployment comprises, among other components, a load balancer that is deployed on each node, in charge of solving the problems described in the previous paragraph. In addition, to make the load balancer as adaptable as possible to all types of applications, a framework has been developed for the Rust programming language, which allows a developer to easily create a customized version of the load, which applies policies adapted to the specific needs of its application. To demonstrate the functionalities of the framework, it will be used to develop an AI inference load balancing system, for a real use case, under the context of the SMARTBLOOMS project to detect colonies of cyanobacteria in water-based environments using a deployment of heterogeneous nodes.
Although Kubernetes is widely used in cloud environments, this tool has some characteristics that, in edge computing environments, tend to cause the requests sent to suffer from too high response times in dynamic or highly heterogeneous scenarios, typical on this types of deployments. This project proposes an alternative deployment to the originally proposed by Kubernetes, called Edge-service. This deployment comprises, among other components, a load balancer that is deployed on each node, in charge of solving the problems described in the previous paragraph. In addition, to make the load balancer as adaptable as possible to all types of applications, a framework has been developed for the Rust programming language, which allows a developer to easily create a customized version of the load, which applies policies adapted to the specific needs of its application. To demonstrate the functionalities of the framework, it will be used to develop an AI inference load balancing system, for a real use case, under the context of the SMARTBLOOMS project to detect colonies of cyanobacteria in water-based environments using a deployment of heterogeneous nodes.
Description
Trabajo de Fin de Master en Internet de las Cosas, Facultad de Imnformática UCM, Departamento de Arquitectura de Computadores y Automática, Curso 2023/2024.
The code of the developed framework is available in the GitHub repository: https://github.com/gulis1/planificacion-inferencia-edge