Nueva técnica mejora la prueba de algoritmos en la nube y previene fallos en la red

Investigadores del MIT y otras instituciones han desarrollado un método más eficiente para ayudar a los ingenieros de redes a identificar fallos potenciales en los sistemas antes de que causen problemas graves, como interrupciones en servicios en la nube.

La técnica revela puntos ciegos que podrían provocar fallos inesperados en algoritmos de atajo cuando se implementan.

Una metodología innovadora

Este nuevo enfoque permite identificar escenarios desfavorables que un ingeniero podría pasar por alto usando métodos tradicionales. Estos métodos suelen comparar un algoritmo con un conjunto de casos de prueba diseñados por humanos, lo que puede ser menos efectivo.

Además, el método es menos laborioso que otras herramientas de verificación que requieren que los ingenieros reformulen un algoritmo en un código matemático complejo cada vez que desean probarlo.

La nueva técnica lee el código fuente del algoritmo directamente y busca automáticamente los escenarios más desfavorables que llevan a un rendimiento deficiente.

Beneficios para los ingenieros

Ayudando a los ingenieros a realizar pruebas de estrés de manera rápida y sencilla antes de la implementación, el método podría detectar modos de fallo que de otro modo solo aparecerían durante una interrupción real. Esta técnica también puede analizar los riesgos de implementar código generado por inteligencia artificial.

“Necesitamos herramientas efectivas para medir el rendimiento en los peores escenarios de nuestros algoritmos, de modo que sepamos lo que podría suceder antes de ponerlos en producción”, afirma Pantea Karimi, estudiante de posgrado en ingeniería eléctrica y ciencias de la computación y autora principal de un artículo sobre esta técnica.

En el artículo, Karimi es acompañada por autores senior como Mohammad Alizadeh, profesor asociado de EECS y miembro del Laboratorio de Ciencias de la Computación e Inteligencia Artificial, y Behnaz Arzani, investigadora principal en Microsoft Research.

Desafíos en la evaluación de algoritmos

En grandes sistemas como los servidores en la nube, los algoritmos tradicionales que dirigen datos pueden ser demasiado intensivos en cómputo para ejecutarse en un tiempo razonable.

Por lo tanto, los ingenieros desarrollan algoritmos subóptimos, llamados heurísticas, que pueden funcionar más rápido. Sin embargo, estos pueden fallar o tener un rendimiento deficiente en circunstancias imprevistas.

Cuando ocurren estos problemas, una empresa podría verse obligada a rechazar solicitudes que no pueden procesarse, lo que conlleva pérdidas económicas significativas.

El impacto de MetaEase

La herramienta MetaEase, desarrollada por los investigadores, analiza el código existente de la heurística para identificar los mayores riesgos de su implementación. “Esto reduciría la fricción de usar estas herramientas de análisis heurístico”, explica Karimi.

MetaEase emplea una ejecución simbólica para mapear diferentes puntos de decisión en el código de la heurística, generando puntos de partida representativos que corresponden a comportamientos distintos del algoritmo.

Con esta información, los desarrolladores de heurísticas pueden inspeccionar las entradas para comprender qué salió mal y tomar medidas preventivas antes de la implementación.

Ilustración de un hombre mayor con auriculares y chaqueta