Как и все сети передачи данных, большие частные сети имеют алгоритмы управления для управления сетевым трафиком в периоды перегрузки. Но поскольку маршрутизаторы, которые направляют трафик в серверную ферму, должны быть сверхбыстрыми, алгоритмы управления жестко встроены в схемы маршрутизаторов. Это означает, что если кто-то разработает лучший алгоритм, сетевым операторам придется дождаться нового поколения оборудования, прежде чем они смогут им воспользоваться.Исследователи из Лаборатории компьютерных наук и искусственного интеллекта Массачусетского технологического института (CSAIL) и пяти других организаций надеются изменить это с помощью программируемых маршрутизаторов, которые все еще могут идти в ногу с молниеносной скоростью современных сетей передачи данных.
Исследователи описывают свою систему в двух докладах, представленных на ежегодной конференции Специальной группы по передаче данных Ассоциации вычислительной техники.«Эта работа показывает, что вы можете достичь многих гибких целей в управлении трафиком, сохраняя при этом высокую производительность традиционных маршрутизаторов», — говорит Хари Балакришнан, профессор Fujitsu в области электротехники и информатики в Массачусетском технологическом институте. «Раньше программируемость была достижима, но никто не стал использовать ее в производстве, потому что она была в 10 или даже 100 раз медленнее».«У исследователей и инженеров должна быть возможность опробовать тысячи идей», — добавляет он. «Используя эту платформу, вы ограничены не аппаратными или технологическими ограничениями, а своим творчеством.
Вы можете внедрять инновации гораздо быстрее».Первым автором обеих статей является Анируд Сивараман, аспирант Массачусетского технологического института в области электротехники и информатики, которого консультировали как Балакришнан, так и Мохаммад Ализаде, доцент кафедры электротехники и информатики в Массачусетском технологическом институте TIBCO, которые являются соавторами обеих статей. . К ним присоединились коллеги из Массачусетского технологического института, Вашингтонского университета, Barefoot Networks, Microsoft Research, Стэнфордского университета и Cisco Systems.Различные штрихи
Управление трафиком может оказаться сложным из-за различных типов данных, передаваемых по сети, и различных типов гарантий производительности, предлагаемых различными службами. В случае телефонных звонков через Интернет, например, задержки доставляют неудобства, но случайный пропущенный пакет, который может переводиться в пропущенное слово в предложении, может быть терпимым. С другой стороны, с большим файлом данных небольшая задержка может быть допустимой, а отсутствующие данные — нет.Точно так же сеть может гарантировать равное распределение полосы пропускания среди своих пользователей.
Каждый маршрутизатор в сети передачи данных имеет свой собственный банк памяти, называемый буфером, где он может ставить пакеты в очередь. Если один пользователь заполнил буфер маршрутизатора пакетами из одного видео высокой четкости, а другой пытается загрузить сравнительно небольшой текстовый документ, сеть может захотеть поднять некоторые из видеопакетов в пользу текста, чтобы гарантировать у обоих пользователей минимальная скорость передачи данных.Маршрутизатор также может захотеть изменить пакет, чтобы передать информацию о сетевых условиях, например, возникла ли в пакете перегрузка, где и как долго; он может даже предложить отправителям новые скорости передачи.Специалисты по информатике предложили сотни схем управления трафиком, включающих сложные правила для определения, какие пакеты допустить к маршрутизатору, а какие отбросить, в каком порядке ставить пакеты в очередь и какую дополнительную информацию к ним добавить — и все это в различных условиях. обстоятельства.
И хотя при моделировании многие из этих схем обещают улучшенную производительность сети, лишь немногие из них когда-либо были развернуты из-за аппаратных ограничений в маршрутизаторах.
Исследователи из Массачусетского технологического института и их коллеги поставили перед собой цель найти набор простых вычислительных элементов, которые можно было бы организовать для реализации разнообразных схем управления трафиком, не снижая рабочих скоростей современных лучших маршрутизаторов и не занимая слишком много места на кристалле.Чтобы проверить свои разработки, они построили компилятор — программу, которая преобразует программные инструкции высокого уровня в аппаратные инструкции низкого уровня, — которые они использовали для компиляции семи экспериментальных алгоритмов управления трафиком на предложенных ими схемных элементах. Если алгоритм не компилируется или для него требуется непрактично большое количество схем, они добавляют новые, более сложные элементы схемы в свою палитру.Оценки
В одной из двух новых статей исследователи предоставляют спецификации для семи типов схем, каждая из которых немного сложнее предыдущей. Некоторые простые алгоритмы управления трафиком требуют только простейшего типа схемы, тогда как другие требуют более сложных типов. Но даже набор самых сложных схем займет всего 4 процента площади микросхемы маршрутизатора; банк наименее сложных типов займет всего 0,16 процента.Помимо семи алгоритмов, которые они использовали для разработки своих схемных элементов, исследователи запустили несколько других алгоритмов через свой компилятор и обнаружили, что они компилировались в некоторую комбинацию своих простых схемных элементов.
«Мы полагаем, что они обобщат и на гораздо большее», — говорит Сивараман. «Например, одна из схем позволяет программисту отслеживать текущую сумму — то, что используется во многих алгоритмах».Во второй статье они описывают структуру своего планировщика, элемента схемы, который упорядочивает пакеты в очереди маршрутизатора и извлекает их для пересылки. Помимо постановки пакетов в очередь в соответствии с приоритетом, планировщик также может помечать их с определенным временем передачи и соответствующим образом пересылать их.
Иногда, например, для маршрутизатора может быть полезно снизить скорость передачи, чтобы предотвратить узкие места в других частях сети или помочь обеспечить справедливое распределение полосы пропускания.Наконец, исследователи составили спецификации для своих схем на Verilog, языке, который инженеры-электрики обычно используют для разработки коммерческих микросхем.
Встроенные аналитические инструменты Verilog подтвердили, что маршрутизатор, использующий схемы исследователей, будет достаточно быстрым, чтобы поддерживать скорость передачи пакетов, обычную в современных высокоскоростных сетях, пересылая пакет данных каждую наносекунду.
