Центры обработки данных без ожидания: задержки передачи данных между фермами серверов могут быть сокращены на 99,6%

На ежегодной конференции ACM Special Interest Group по передаче данных в августе исследователи из Массачусетского технологического института представят новую систему управления сетью, которая в ходе экспериментов сократила среднюю длину очереди маршрутизаторов в центре обработки данных Facebook на 99,6 процента — практически. избавление от очередей. Когда сетевой трафик был интенсивным, средняя задержка — задержка между запросом элемента информации и его прибытием — сократилась почти так же, с 3,56 микросекунды до 0,23 микросекунды.Как и в Интернете, большинство центров обработки данных используют децентрализованные протоколы связи: каждый узел в сети решает на основе своих ограниченных наблюдений, как быстро отправлять данные и на какой соседний узел их отправлять.

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

С Fastpass узел, который хочет передать данные, сначала отправляет запрос арбитру и получает в ответ назначение маршрутизации. «Если вам придется заплатить эти, может быть, 40 микросекунд, чтобы обратиться к арбитру, сможете ли вы действительно много выиграть от всей схемы?» говорит Джонатан Перри, аспирант в области электротехники и информатики (EECS) и еще один из авторов статьи. «Удивительно, но вы можете».Разделение трудаК Балакришнану и Перри присоединились Эми Остерхаут, еще одна аспирантка EECS; Деваврат Шах, доцент кафедры электротехники и информатики Джеймисона; и Ханс Фугал из Facebook.

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

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

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

Эта система ничего из этого не делает ».Вместо этого Fastpass назначает каждому ядру свой собственный временной интервал, а ядро ​​с первым интервалом прокручивает полный список ожидающих запросов на передачу.

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

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

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