В современных сетях передачи данных перегруженные каналы и причины заторов обычно определяются устройствами на периферии сети по времени достижения пакетами места назначения. Если бы отчеты о производительности могли выдавать маршрутизаторы внутри сети, анализ можно было бы выполнять гораздо эффективнее, что позволило бы операторам быстрее устранять проблемы.
Оснащать машрутизаторы модулями для сбора различных измерений непрактично, а отправка пакетов на внешние серверы для анализа не масштабируется: дата-центру со 100 тыс. серверов нужно еще 40-50 тыс. систем, обрабатывающих данные маршрутизаторов.
Исследователи из МТИ, Cisco и Barefoot Networks предложили Marple — новый механизм мониторинга производительности сети, обеспечивающий гибкость сбора показателей и не требующий большого числа аналитических серверов.
Marple — это язык программирования, позволяющий решать широкий круг задач мониторинга сети, а также набор несложных дополнительных компонентов для маршрутизатора, выполняющих все операции, предусмотренные языком. Как показало моделирование, проведенное с использованием статистики трафика реального ЦОД, для Marple потребуется лишь один аналитический сервер на каждые 40-50 серверов приложений. Благодаря механизму кэширования статистики Marple позволяет в индивидуальном порядке следить за передачами каждого устройства, пересылающего данные через конкретный маршрутизатор.