Даже если Remy никогда не найдет применения в реальном мире, эта система уже многому научила специалистов, развивающих алгоритмы TCP. Источник: MIT |
Система 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 – всего лишь академический исследовательский проект.
Тестирование в реальном Интернете не проводилось. И хотя алгоритмы Remy действительно работают хорошо, полной уверенности в их эффективности у исследователей нет, поскольку модель не учитывала многие неизвестные ей параметры Интернета. Трудно, например, сказать, сколько людей подключены к той или иной части Интернета в текущий момент.
Если разработанные машиной алгоритмы TCP в конечном итоге докажут свою эффективность, в первую очередь их внедрения следует ждать в частных сетях. Google, например, уже выполняет в собственных ЦОД тонкую настройку TCP с учетом своих требований. Такого рода организации вполне могут взять Remy на вооружение для улучшения своих алгоритмов.
Но даже если Remy никогда не найдет применения в реальном мире, эта система уже многому научила специалистов, развивающих алгоритмы TCP. В Remy, например, используются отличные от существующих методы определения заторов в сети.
Отдельные приемы, используемые Remy, исследователям известны, но им хотелось бы выяснить, каким образом сочетание этих приемов приводит к созданию столь эффективных алгоритмов.
«Эмпирически мы видим, что все работает очень хорошо, – подтвердил Винштайн. – Мы получаем более высокую пропускную способность, меньшие задержки и равнодоступность ресурсов. Но мы не можем объяснить, почему так получается».
«На данном этапе мы надеемся, что другие возьмут на вооружение этот инструмент и начнут его использовать, – добавил Балакришнан. – Даже если в конечном итоге нам удастся лишь убедить людей задуматься над проблемой, это уже будет для нас большой победой».