Система Remy
ДАЖЕ ЕСЛИ REMY НИКОГДА НЕ НАЙДЕТ применения в реальном мире, эта система уже многому научила специалистов, развивающих алгоритмы TCP
Источник: MIT

Ученые из Массачусетского технологического института с помощью 80-ядерного компьютера создали инструментарий, позволяющий добиться заметного ускорения функционирования сетей за счет использования более эффективных алгоритмов.

Система Remy в автоматизированном режиме генерирует свои собственные варианты реализации протокола TCP, позволяющие избежать возникновения заторов в сетях. Новые алгоритмы отличаются от всех вариантов, которые предлагались до сих пор и, по словам исследователей, работают гораздо лучше.

«Технология Remy разрабатывалась не для исполнения на отдельных ПК или серверах, но когда-нибудь, возможно, она поможет усовершенствовать алгоритмы и для массовых компьютерных систем, — отметил профессор МТИ Хари Балакришнан. — В настоящее время технология перебирает миллионы возможных вариаций алгоритма и тестирует их на моделируемых сетях, выбирая наилучший для данного конкретного случая».

Скорость отправки пакетов и задержки передачи в случае возникновения заторов в сетях IP никак не регламентируется. В каждой системе самостоятельно принимается решение об использовании той или иной реализации протокола TCP. В каждой версии TCP используется свой собственный алгоритм, определяющий, как системе лучше вести себя в тех или иных условиях.

За последние 30 лет реализации TCP пересматривались многократно, порой предполагая тонкую настройку для конкретных сетей или приложений. К примеру, систему можно настроить таким образом, чтобы браузер принимал данные с максимальной скоростью, а приложению VoIP можно разрешить и небольшие задержки, обычно незаметные для человеческого уха. Сегодня в мире существует 30-50 достаточно эффективных схем TCP и пять-восемь схем, получивших повсеместное распространение.

Но до сих пор все эти алгоритмы разрабатывались человеком. Создатели Remy решили пойти иным путем.

«На первый взгляд эта задача слишком сложна для компьютеров, — указал Балакришнан. — Здесь присутствует слишком много различных параметров, а условия функционирования сети постоянно меняются, поэтому получить наиболее эффективный алгоритм методом простого перебора практически невозможно».

Однако система Remy способна делать то, что недоступно человеку, разрабатывающему алгоритм. Существующие алгоритмы TCP используют лишь небольшое число правил, регламентирующих поведение компьютера в той или иной ситуации. Скорость передачи данных, например, может замедляться, если доля отброшенных пакетов превысит некоторое пороговое значение. Remy же, по словам исследователей, имеет дело с алгоритмами, в которых используется более 150 правил.

Для создания нового алгоритма с помощью Remy Балакришнан и его коллега Кит Винштайн сформулировали набор требований, позволяя технологии самой представить кандидатов и попытаться использовать их в программном обеспечении, которое моделирует широкий спектр условий функционирования сети. Для определения конкретного алгоритма, который лучше других справляется со своей задачей, система использует элементы машинного обучения. В ходе апробирования алгоритмов Remy ориентируется на ситуации, в которых небольшие изменения в функционировании сети приводят к серьезным изменениям в производительности, и исключает из рассмотрения случаи, когда сеть ведет себя непредсказуемо.

По истечении 4-12 часов Remy выявляет лучший из найденных алгоритмов. По словам исследователей, результаты выглядят весьма впечатляюще. При моделировании работы высокопроизводительной кабельной сети с согласованной скоростью передачи по физическим каналам алгоритмы Remy позволили увеличить пропускную способность примерно в два раза по сравнению с наиболее популярными версиями TCP и сократили задержки на две трети. При моделировании мобильной сети передачи данных Verizon алгоритмы Remy увеличили пропускную способность на 20-30% и на 25-40% сократили задержки.

Однако ожидать блестящих результатов загрузки страниц в ближайшем будущем не стоит. Пока Remy — всего лишь академический исследовательский проект.