Fastpass

Исследователи рекомендуют обратить внимание на свою систему всем операторам высокоскоростных ЦОД. Источник: Facebook

Суть изобретения — новый способ выбора момента передачи каждого пакета по сети центра обработки данных к пункту назначения. Как только очередной пакет прибывает на коммутатор, соответствующее решение с помощью параллельных вычислений принимает программное обеспечение Fastpass, разработанное в МТИ. По оценкам разработчиков, применение Fastpass в реальных ЦОД может начаться примерно в течение двух лет.

В нынешних сетях пакеты могут проводить немало времени в обширных очередях, занимающих огромный объем памяти. Это происходит по той причине, что коммутаторы принимают решения о том, когда отправить каждый пакет на пункт назначения, руководствуясь лишь ограниченным объемом доступной информации. Fastpass же переносит эту работу на центральный сервер — «арбитр», который «видит» сегмент сети ЦОД целиком и поэтому может более эффективно спланировать передачу пакетов, объясняет Хари Балакришнан, профессор электронного машиностроения и компьютерных наук МТИ, один из соавторов доклада о Fastpass. Еще одним соавтором стал научный сотрудник Facebook Ханс Фьюгал.

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

Разработчики системы руководствовались не тем, чтобы заставить быстрее грузиться страницу Facebook или ускорить вывод поисковых результатов Google, но благодаря Fastpass и то, и другое станет возможным. Авторы стремились упростить приложения и коммутаторы, а также уменьшить потребности центров обработки данных в пропускной способности.

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

Заботясь о том, чтобы пакеты прибывали вовремя, Fastpass избавляет сетевых архитекторов от необходимости предусматривать большой резерв пропускной способности на случай непредсказуемых всплесков трафика — проще будет модернизировать сеть по мере роста численности пользователей и объемов данных.

Аналогичное преимущество получат разработчики распределенных приложений, разбивающих задания на фрагменты и отправляющих их для обработки на различные серверы в сети.

«Разработчикам приходится идти на различные ухищрения, чтобы учесть варьирующуюся задержку в сети, — отмечает еще один соавтор Fastpass Джонатан Перри, аспирант МТИ. — Когда эта проблема уйдет, станет гораздо проще разрабатывать сложные распределенные программы, подобные применяемым в Facebook».

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

«Спрогнозировать, насколько большими должны быть очереди, очень трудно, — поясняет Балакришнан. — Эта проблема существует еще с 1960 годов». Если сделать очереди слишком большими, уменьшится быстродействие, а если слишком короткими — это может приводить к потере пакетов и необходимости тратить время на повторные передачи.

Fastpass выбирает время передачи и маршрут для каждого пакета, причем делает это быстрее, чем обычные коммутаторы, как утверждают в МТИ. Система действует настолько быстро, что несмотря на необходимость пересылать каждый пакет арбитру, на что уходит около 40 мс, в целом работа сети все равно ускоряется.

При подобной быстроте потребность в очередях фактически отпадает. В ходе экспериментов, проводившихся в ЦОД Facebook, система уменьшала длину очередей в среднем на 99,6%, сообщают исследователи. Задержка — промежуток времени между запросом и получением данных, — сокращалась с 3,56 мкс до всего 0,23 мкс.

В испытаниях использовался арбитр с восемью ядрами. Как сообщают в МТИ, он управлял сетью, передававшей по 2,2 терабита данных в секунду, что соответствует ЦОД из 2000 серверов с гигабитными каналами, работающему на полной скорости. Арбитр был соединен с системой-двойником для надежности.

Исследователи не стали заставлять все восемь ядер назначать передачу для каждого слота времени по очереди — каждому из ядер отводится свой слот. Таким образом, пока одно из ядер пытается заполнить следующий слот, другое работает над идущим после него, третье — над очередным и т. д.

Fastpass или подобное программное обеспечение можно разместить на выделенных серверных кластерах или даже встроить в специализированные чипы, отметил Балакришнан. Исследователи собираются выпустить Fastpass в открытых кодах, но предупреждают, что на сегодня ПО еще не готово к рабочему применению.