Open Innovation Campus

Hogar Digital

¿Te atreves a mejorar el funcionamiento de una CDN con Machine Learning?

Disponible

Conoce a todos los tutores

¿Te interesa?

Si eres profesor o estudiante universitario y tienes interés en participar en el programa TUTORÍA, registra tus datos para que podamos iniciar el programa.

Registro Alumnos
Registro Profesores

Temática

Desafío dirigido a estudiantes que deseen desarrollar su TFG/TFM, sin miedo a lo desconocido. Con iniciativa, buena capacidad de aprendizaje, ganas de aprender y asumir nuevos retos. No es necesario disponer de conocimientos previos/concretos.

Perfiles técnicos. Telecomunicaciones, Informática, con capacidad de síntesis y habilidades para el desarrollo de SW experimental.

Introducción al desafío

¿Te atreves a mejorar el funcionamiento de una CDN con Machine Learning?

Una CDN (Content Delivery Network) es un sistema multiservicio distribuido geográficamente, que permite la entrega masiva de contenido de una manera óptima a cualquier usuario, siendo así mismo completamente escalable mediante el despliegue continuo de nuevos elementos de caché si es necesario. Esto permite entregar el contenido de una manera cercana, y así los tiempos de respuesta y la eficacia en la entrega es máxima.

Estos elementos de caché tendrán una capacidad que depende de los recursos disponibles en la máquina (CPU, memoria, IOPS, throughput, etc), y del comportamiento de los usuarios que quieren acceder al contenido. Así, en función del balance de tipo de servicios que se acceden (perfil), el elemento de caché consume más o menos recursos y, por tanto, varía su capacidad disponible.

El cálculo de esta capacidad es un proceso estocástico dependiente de muchas variables aleatorias (o no controlables) como el perfil de tráfico y los recursos de la máquina.


Desafío planteado

El desafío consiste en el análisis del comportamiento real de un nodo de caché de la CDN de Telefónica, y poder desarrollar una red neuronal implementable que permita al propio nodo conocer, en función de las variables conocidas, establecer su propio nivel de saturación.

Actualmente el nivel de saturación de un elemento de caché se determina tras realizar un número amplio de pruebas de performance en las que, variando los distintos parámetros de uso del servicio (perfiles), se obtienen los valores del uso de recursos de la máquina.

Esto nos lleva a determinar un valor máximo de capacidad del servidor (por ejemplo, el número de usuarios conectados), que se configura estáticamente en el servidor, y que será independiente del uso real del servidor en un entorno productivo, ya que el uso del mismo en la realidad dependerá exclusivamente del comportamiento de los usuarios en cada momento.

Digamos, por tanto, que la capacidad real de un nodo de este tipo es variable, puesto que los recursos ocupados por cada usuario son diferentes. Y conocer anticipadamente cuál es ese valor en tiempo real es fundamental para garantizar la calidad del servicio.

El resultado de las numerosas pruebas de performance forma un ‘dataset’ muy amplio que puede utilizarse con herramientas de análisis de Machine Learning como datos de entrenamiento de una red neuronal que permita al propio nodo anticipar cuál es su límite en función del comportamiento de los usuarios en cada momento.

Por lo tanto, los objetivos del desafío son:

  • Análisis del ‘dataset’ proporcionado por Telefónica de las distintas pruebas realizadas, y localizar las variables de entrada viables
  • Desarrollo de una herramienta de estimación de la capacidad, mediante Machine Learning. Se utilizará como entrenamiento el dataset limpio obtenido del punto anterior.

 

Se facilitará la posibilidad de probar el rendimiento de dicha herramienta con nuevos datos obtenidos de pruebas de performance con perfiles diferentes para validar el comportamiento de la herramienta.
Analizar cuáles son los principales parámetros de servicio y del servidor que tiene que evaluarse para poder realizar estimaciones de capacidad