Aprendizaje Automático Proactivo para el Control de Congestión en Redes en Chip
Una nueva técnica predice la congestión de la red y mejora la eficiencia del flujo de datos.
― 7 minilectura
Tabla de contenidos
En los sistemas de computación modernos, especialmente en los que tienen muchos procesadores, la información tiene que moverse rápido entre diferentes partes. Esta comunicación suele hacerse a través de una Red-en-Chip (NoC). Pero, al igual que en una calle congestionada, estas redes pueden atorarse cuando se envía demasiada data a la vez. Cuando esto pasa, puede hacer que todo el sistema se ralentice y desperdicie recursos.
¿Qué pasa durante la Congestión?
Cuando una NoC está congestionada, los paquetes de datos pueden quedar atascados o rebotar en lugar de llegar a su destino. Esto no solo causa retrasos, sino que también deriva en un uso ineficiente del Ancho de banda, ya que los enlaces en la red no pueden utilizarse de manera eficaz. Los métodos tradicionales intentan manejar la congestión ralentizando las fuentes de datos una vez que se detecta la congestión. Lamentablemente, este enfoque a menudo lleva a ineficiencias y retrasos innecesarios.
Un nuevo enfoque usando Aprendizaje automático
Proponemos un método nuevo que usa aprendizaje automático para predecir la congestión antes de que suceda, lo que permite respuestas más rápidas y menos desperdicio de tiempo y recursos. Nuestra técnica recoge información sobre los patrones de tráfico en la red, evalúa la probabilidad de congestión y ajusta el flujo de datos en consecuencia.
¿Cómo funciona?
Recopilación de datos: El método propuesto recopila continuamente datos sobre el tráfico de la red en varias direcciones. Esto implica monitorear cuántos paquetes intentan ingresar al sistema, cuán llenas están las colas y otros indicadores que pueden mostrar una posible congestión.
Etiquetado de datos: Usando un enfoque único de reversión de tiempo, etiquetamos los datos recopilados según si hubo o no congestión. Esto ayuda al sistema a aprender de situaciones pasadas para predecir mejor eventos futuros.
Modelo de aprendizaje automático: Los datos etiquetados se utilizan para crear un modelo simple de árbol de decisiones, que puede tomar decisiones en tiempo real sobre si ralentizar la transmisión de paquetes cuando se predice congestión.
Resultados experimentales
Probamos nuestro método usando datos simulados y reales en NoCs industriales. Los resultados mostraron mejoras significativas:
- La equidad en la distribución del tráfico mejoró, lo que llevó a una mayor eficiencia.
- El ancho de banda de lectura de memoria vio mejoras de hasta 114% comparado con técnicas existentes, usando casi ningún recurso adicional.
Conocimiento previo
Entendiendo las NoCs
Las redes-en-chip son esenciales para facilitar la comunicación en procesadores multicore. Consisten en enrutadores, enlaces y colas que ayudan a gestionar los paquetes de datos. Las NoCs con búferes almacenan paquetes en los enrutadores, mientras que las NoCs sin búferes solo los almacenan en su origen y destino.
Cuando el tráfico aumenta o llega a su pico, las colas pueden llenarse, lo que lleva a una presión que detiene el envío de nuevos paquetes. Se han desarrollado varias estrategias para gestionar esta congestión, pero muchas reaccionan demasiado tarde.
Técnicas actuales
La mayoría de las técnicas de control de congestión existentes se pueden clasificar en dos tipos: globales y locales. Los métodos globales verifican el estado de toda la red y ajustan el tráfico en consecuencia, mientras que los métodos locales se centran en nodos individuales.
La mayoría de los métodos actuales son reactivos: actúan solo después de que se detecta la congestión, lo que a menudo resulta en un menor rendimiento y equidad hacia el tráfico que necesita más atención, como las solicitudes que fallan en la caché.
Objetivos de nuestro trabajo
Maximizar el ancho de banda: Asegurar que los datos se puedan leer de la memoria de manera efectiva, incluso cuando la red está bajo presión.
Aumentar la equidad: Asegurarse de que todos los tipos de solicitudes de datos, incluidas las que fallan en la caché, reciban el servicio que requieren sin retrasos innecesarios.
Control de congestión proactivo
Nuestro método adopta un enfoque proactivo. Primero, utiliza aprendizaje automático para determinar si un nodo en la red es probable que se congestione. Si se detecta un posible problema, se instruye a las fuentes de datos a ralentizar su transmisión antes de que la congestión se convierta en un problema.
Características clave para el control
El proceso de toma de decisiones implica monitorear varias características relacionadas con el tráfico, como:
- La tasa de paquetes que se desvían.
- El tiempo promedio que los paquetes pasan esperando en una cola.
- La ocupación total de las colas.
Estas características ayudan a dar una visión completa de la situación del tráfico, facilitando mejores predicciones sobre la congestión.
El modelo de árbol de decisiones
El árbol de decisiones es crucial para predecir la congestión. Se basa en el aprendizaje de datos anteriores para tomar decisiones rápidamente y de manera eficiente. El sistema utiliza la salida del modelo para continuar enviando paquetes o pausarlos temporalmente según las condiciones actuales del tráfico.
Condiciones locales en fuentes de datos
Además de las decisiones tomadas por el árbol de decisiones, también se considera una condición local. Esto asegura que las fuentes de datos en los bordes de la red, que tienden a ser las primeras en encontrar congestión, también puedan actuar rápidamente para evitar problemas antes de que se amplifiquen.
Pruebas y resultados
Nuestros experimentos involucraron la simulación de una NoC en malla de 6x6 con diversas cargas de tráfico. En estas pruebas, comparamos nuestra nueva técnica contra métodos tradicionales para medir:
- Latencia de transacción: Tiempo que tarda desde que se envía una solicitud hasta que se recibe una respuesta.
- Ancho de banda de lectura de memoria: Cantidad de datos exitosamente recuperados de la memoria.
Hallazgos
Reducción de la latencia de transacción: Nuestro método redujo significativamente la latencia promedio de transacción comparado con técnicas existentes, alcanzando reducciones de hasta el 30%.
Mayor ancho de banda de lectura de memoria: Hubo un aumento notable en la cantidad de datos recuperados exitosamente de la memoria bajo condiciones de alta carga, logrando más del 190% de mejora en ocasiones.
Mejora en la equidad: Más solicitudes que fallaron en la caché fueron recuperadas, mostrando que nuestro método trata a todos los tipos de tráfico de manera más equitativa.
Sobrecarga mínima: Los recursos adicionales necesarios para ejecutar nuestro método fueron insignificantes en comparación con el presupuesto total de la NoC, lo que lo convierte en una solución rentable.
Comparación con técnicas existentes
Cuando se coloca junto a enfoques tradicionales, nuestra técnica superó en todos los criterios probados. La naturaleza proactiva de nuestro enfoque llevó a operaciones más fluidas, permitiendo un mejor rendimiento general del sistema mientras mantenía bajo el uso de recursos.
Conclusión
Los métodos tradicionales de control de congestión para NoCs suelen ser demasiado reactivos, lo que lleva a ineficiencias y desperdicio de recursos. Nuestro nuevo enfoque utiliza aprendizaje automático para anticipar la congestión y gestionar el flujo de datos proactivamente. Los resultados de nuestros experimentos demuestran que esta técnica mejora significativamente la operación, aumenta la equidad y mantiene una baja sobrecarga, ofreciendo una solución prometedora para los procesadores multicore modernos.
A futuro, hay oportunidades para refinar aún más esta técnica y aplicarla a escenarios de red más complejos, asegurando que los sistemas puedan manejar demandas crecientes sin sacrificar rendimiento o eficiencia.
Título: Machine Learning-based Low Overhead Congestion Control Algorithm for Industrial NoCs
Resumen: Network-on-Chip (NoC) congestion builds up during heavy traffic load and cripples the system performance by stalling the cores. Moreover, congestion leads to wasted link bandwidth due to blocked buffers and bouncing packets. Existing approaches throttle the cores after congestion is detected, reducing efficiency and wasting line bandwidth unnecessarily. In contrast, we propose a lightweight machine learning-based technique that helps predict congestion in the network. Specifically, our proposed technique collects the features related to traffic at each destination. Then, it labels the features using a novel time reversal approach. The labeled data is used to design a low overhead and an explainable decision tree model used at runtime congestion control. Experimental evaluations with synthetic and real traffic on industrial 6$\times$6 NoC show that the proposed approach increases fairness and memory read bandwidth by up to 114\% with respect to existing congestion control technique while incurring less than 0.01\% of overhead.
Autores: Shruti Yadav Narayana, Sumit K. Mandal, Raid Ayoub, Michael Kishinevsky, Umit Y. Ogras
Última actualización: 2023-02-24 00:00:00
Idioma: English
Fuente URL: https://arxiv.org/abs/2302.12779
Fuente PDF: https://arxiv.org/pdf/2302.12779
Licencia: https://creativecommons.org/licenses/by-sa/4.0/
Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.
Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.