En las redes de datos actuales, el análisis de tráfico, que determina qué enlaces se congestionan y por qué, generalmente lo realizan computadoras en el borde de la red, que intentan inferir el estado de la red a partir de las horas en que diferentes paquetes de datos alcanzan sudestinos.
Si los enrutadores dentro de la red pudieran informar sobre sus propias circunstancias, el análisis de la red sería mucho más preciso y eficiente, permitiendo a los operadores de red abordar los problemas más rápidamente. Con ese fin, los fabricantes de enrutadores han comenzado a equipar sus enrutadores con contadores que puedeninforme sobre la cantidad de paquetes de datos que un enrutador ha procesado en un intervalo de tiempo determinado.
Pero los recuentos de números sin procesar son muy útiles, y dar a los enrutadores un circuito de monitoreo de propósito especial para cada nueva medición que un operador quiera hacer no es práctico. La alternativa es que los enrutadores envíen paquetes de datos a servidores externos para obtener más complejosanálisis, pero esa técnica no escala bien. Un centro de datos con 100,000 servidores, por ejemplo, podría necesitar otros 40,000 a 50,000 servidores solo para mantenerse al día con la avalancha de datos del enrutador.
Los investigadores de MIT, Cisco Systems y Barefoot Networks han ideado un nuevo enfoque para la monitorización de la red que proporciona una gran flexibilidad en la recopilación de datos al tiempo que mantiene baja la complejidad del circuito del enrutador y la cantidad de servidores analíticos externos.trabajen en un documento que presentan esta semana en la conferencia anual del Grupo de Interés Especial de la Asociación para la Maquinaria de Computación sobre Comunicación de Datos.
Apodado Marple, el sistema consta de un lenguaje de programación que permite a los operadores de red especificar una amplia gama de tareas de monitoreo de red y un pequeño conjunto de elementos de circuito simples que pueden ejecutar cualquier tarea especificada en el lenguaje. Simulaciones utilizando el tráfico real del centro de datoslas estadísticas sugieren que, en la configuración del centro de datos, Marple debería requerir solo un servidor de análisis de tráfico por cada 40 o 50 servidores de aplicaciones.
a prueba de futuro
"Existe este gran movimiento para hacer que los enrutadores sean programables y que el hardware mismo sea programable", dice Mohammad Alizadeh, Profesor Asistente de Desarrollo de Carrera de TIBCO de Ingeniería Eléctrica y Ciencias de la Computación en el MIT y autor principal del artículo. "Así que realmente estábamosmotivado a pensar en lo que esto significaría para el monitoreo y la medición del rendimiento de la red. ¿Qué me gustaría poder programar en el enrutador para facilitar la tarea del operador de la red?
"Nos dimos cuenta de que va a ser muy difícil tratar de resolver esto seleccionando algunas primitivas de medición o algoritmos que conocemos y diciendo: aquí hay un módulo que le permitirá hacer esto, aquí hay un módulo que permitiráhacer eso. Sería difícil obtener algo a prueba de futuro y general utilizando ese enfoque ".
En cambio, Alizadeh y sus colaboradores codiseñaron el lenguaje Marple y los circuitos necesarios para implementar las consultas Marple, con un ojo puesto en la flexibilidad expresiva del idioma y otro en la complejidad de los circuitos necesarios para darse cuenta de esa flexibilidad. El equipo incluyóprimer autor Srinivas Narayana, un postdoc en el Laboratorio de Ciencias de la Computación e Inteligencia Artificial del MIT; Anirudh Sivaraman, Vikram Nathan y Prateesh Goyal, todos estudiantes de posgrado del MIT en ingeniería eléctrica y ciencias de la computación; Venkat Arun, un estudiante universitario en el Instituto Indio de Tecnología Guwahati quevisitó MIT durante un verano; Vimalkumar Jeyakumar de Cisco Tetration Analytics; y Changhoon Kim de Barefoot Networks.
La idea detrás de Marple es hacer el mayor análisis posible en el enrutador en sí mismo sin causar demoras en la red, y luego enviar las estadísticas resumidas del servidor externo en lugar de los datos de paquete sin procesar, incurriendo en grandes ahorros tanto en ancho de banda como en tiempo de procesamiento.
Marple está diseñado para monitorear individualmente las transmisiones de cada computadora que envía datos a través de un enrutador, un número que puede superar fácilmente el millón. El problema es que un enrutador típico tiene suficiente memoria para almacenar estadísticas en solo 64,000 conexiones más o menos.
caché unidireccional
Marple resuelve este problema a través de una variación en la técnica informática común de almacenamiento en caché, en la que los datos de uso frecuente se almacenan cerca de una unidad de procesamiento para un acceso eficiente. Cada enrutador tiene una memoria caché en la que mantiene estadísticas sobre los paquetes de datos que se vede un número fijo de remitentes, digamos, 64,000. Si su caché está llena y recibe un paquete de otro remitente, el 64,001, simplemente elimina los datos asociados con uno de los 64,000 remitentes anteriores.lo apaga a un servidor de soporte para almacenamiento. Si luego recibe otro paquete del remitente que inició, inicia una nueva entrada de caché para ese remitente.
Este enfoque funciona solo si los datos recién iniciados pueden fusionarse con los datos ya almacenados en el servidor. En el caso del conteo de paquetes, esto es bastante simple. Si el servidor registra que un enrutador determinado vio 1,000 paquetes del remitente A, ysi el enrutador ha visto otros 100 paquetes del remitente A desde que vació por última vez el caché de A, entonces, en la próxima actualización, el servidor simplemente agrega los nuevos 100 paquetes a los 1,000 que ya están grabados.
Pero el proceso de fusión no es tan sencillo si la estadística de interés es un promedio ponderado de la cantidad de paquetes procesados por minuto o la velocidad a la que los paquetes han sido descartados por la red. Sin embargo, el trabajo de los investigadores incluye una teoríaanálisis que muestra que la fusión siempre es posible para las estadísticas que son "lineales en estado"
"Lineal" significa que cualquier actualización de la estadística implica multiplicar su valor actual por un número y luego agregar otro número a ese producto. La parte "en estado" significa que el multiplicador y el suma pueden ser el resultado de operaciones matemáticas realizadasen algún número de medidas de paquetes anteriores.
"Descubrimos que para las operaciones en las que no estaba claro de inmediato cómo se escribirían en este formulario, siempre había una forma de reescribirlas en este formulario", dice Narayana. "Así que resulta ser bastanteclase útil de operaciones, prácticamente "
El nuevo trabajo fue apoyado por la National Science Foundation, la Agencia de Proyectos Avanzados de Defensa de EE. UU. Y Cisco Systems.
Fuente de la historia :
Materiales proporcionado por Instituto de Tecnología de Massachusetts . Nota: El contenido puede ser editado por estilo y longitud.
Cita esta página :