Выключатель нагрузки сбалансировано представляет собой архитектуру выключатель , который гарантирует 100% пропускной способности , без центрального арбитража на всех, за счет посылки каждого пакета через перекладину дважды. Коммутаторы с балансировкой нагрузки являются предметом исследований для крупных маршрутизаторов, не имеющих отношения к практическому центральному арбитражу. [ расплывчато ]
Вступление
Интернет- маршрутизаторы обычно строятся с использованием линейных карт, подключенных к коммутатору . Маршрутизаторы , поддерживающие умеренную общую пропускную способность может использовать шину в качестве коммутатора, но маршрутизаторы с высокой пропускной способностью , как правило , используют какой - то перекладине соединения. В матрице каждый выход подключается к одному входу, так что информация может проходить через каждый выход одновременно. Перекрестные панели, используемые для коммутации пакетов, обычно реконфигурируются десятки миллионов раз в секунду. Расписание этих конфигураций определяется центральным арбитром , например арбитром волнового фронта , в ответ на запросы линейных карт об отправке информации друг другу.
Идеальный арбитраж приведет к тому, что пропускная способность будет ограничена только максимальной пропускной способностью каждого входа или выхода кроссбара. Например, если весь трафик, поступающий на линейные карты A и B, предназначен для линейной карты C, то максимальный трафик, который карты A и B могут обрабатывать вместе, ограничен C. Было показано, что идеальный арбитраж требует огромных объемов вычислений, что масштабируется намного быстрее, чем количество портов на перекладине. Практические системы используют несовершенную эвристику арбитража (например, iSLIP), которую можно вычислить за разумное время.
Коммутатор с балансировкой нагрузки не связан с переключателем балансировки нагрузки, который относится к типу маршрутизатора, который используется в качестве внешнего интерфейса к ферме веб-серверов для распределения запросов к одному веб-сайту по множеству серверов.
Базовая архитектура
Как показано на рисунке справа, коммутатор с балансировкой нагрузки имеет N входных линейных карт, каждая со скоростью R, каждая из которых подключена к N буферам с помощью канала со скоростью R / N. Каждый из этих буферов, в свою очередь, подключен к N выходным линейным картам, каждая со скоростью R, связями со скоростью R / N. Буферы в центре разделены на N виртуальных очередей вывода .
Каждая входная линейная карта равномерно распределяет свои пакеты по N буферам, что явно может делать без конкуренции. Каждый буфер записывает эти пакеты в одну локальную буферную память с общей скоростью R. Одновременно каждый буфер отправляет пакеты в начале каждой виртуальной очереди вывода на каждую линейную карту вывода, снова со скоростью R / N на каждую карту. Выходная линейная карта может явно пересылать эти пакеты по линии без конкуренции.
Каждый буфер в коммутаторе с балансировкой нагрузки действует как коммутатор с общей памятью, а коммутатор с балансировкой нагрузки, по сути, является способом масштабирования коммутатора с общей памятью за счет дополнительной задержки, связанной с пересылкой пакетов со скоростью R / N. дважды.
Стэнфордская группа, исследующая коммутаторы с балансировкой нагрузки, концентрируется на реализациях, в которых количество буферов равно количеству линейных карт. По одному буферу размещается на каждой линейной карте, и две межсетевые ячейки фактически являются одной и той же сеткой, обеспечивая скорость 2R / N между каждой парой линейных карт. Но базовая архитектура коммутатора с балансировкой нагрузки не требует размещения буферов на линейных картах или наличия одинакового количества буферов и линейных карт.
Одно интересное свойство коммутатора с балансировкой нагрузки заключается в том, что, хотя сетка, соединяющая линейные карты с буферами, требуется для подключения каждой линейной карты к каждому буферу, нет требований, чтобы сетка действовала как неблокирующая перекладина, или чтобы соединения реагировать на любую схему движения. Такое соединение намного проще, чем перекладина с центральным арбитражем.
Хранение пакетов в порядке
Если два пакета, предназначенных для одного и того же вывода, поступают последовательно на одну линейную карту, они будут распределены по двум разным буферам, которые могут иметь два разных занятия, и поэтому пакеты могут быть переупорядочены к тому времени, когда они будут доставлены в выход. Хотя переупорядочение разрешено, оно обычно нежелательно, поскольку TCP плохо работает с переупорядоченными пакетами.
Добавляя еще большую задержку и буферизацию, коммутатор с балансировкой нагрузки может поддерживать порядок пакетов в потоках, используя только локальную информацию. Одним из таких алгоритмов является FOFF (сначала полностью упорядоченные кадры ). FOFF обладает дополнительными преимуществами, так как устраняет любую уязвимость к патологическим моделям трафика и предоставляет механизм для реализации приоритетов.
Реализации
Однокристальная перекладина плюс арбитр балансировки нагрузки
Проект Tiny Tera Стэнфордского университета (см. Abrizio ) представил архитектуру коммутатора, для которой требовалось, по крайней мере, два дизайна микросхемы для самой коммутационной матрицы (поперечный слой и арбитр). Обновление арбитра для включения балансировки нагрузки и объединения этих устройств может иметь преимущества в надежности, стоимости и пропускной способности.
Единый глобальный маршрутизатор
Поскольку линейные карты в коммутаторе с балансировкой нагрузки не обязательно должны физически находиться рядом друг с другом, одна из возможных реализаций заключается в использовании всей магистральной сети континентального или глобального размера в качестве межсетевого соединения, а базовые маршрутизаторы - в качестве «линейных карт». . Такая реализация страдает от того, что все задержки увеличиваются в два раза по сравнению с задержкой передачи в наихудшем случае. Но у него есть ряд интересных преимуществ:
- Крупные магистральные пакетные сети обычно имеют огромную избыточную пропускную способность (в 10 раз и более), чтобы иметь дело с несовершенным планированием пропускной способности, перегрузкой и другими проблемами. Магистральная сеть коммутатора с балансировкой нагрузки может обеспечить 100% пропускную способность с удвоенной избыточной мощностью, измеренной по всей системе.
- Основой крупных магистральных сетей обычно являются оптические каналы, которые нельзя быстро переключить. Они хорошо соответствуют каналам 2R / N с постоянной скоростью сети коммутатора с балансировкой нагрузки.
- Таблицы маршрутов не нужно изменять на основе информации о глобальной перегрузке, потому что нет глобальной перегрузки.
- Изменение маршрута в случае отказа узла требует изменения конфигурации оптических каналов. Но изменение маршрута можно вычислить заранее (существует только конечное число узлов, которые могут выйти из строя), и изменение маршрута не вызывает перегрузки, которая потребовала бы дальнейших изменений таблицы маршрутов.
Рекомендации
Внешние ссылки
- Оптимальная балансировка нагрузки И. Кесласси, К. Чанг, Н. Маккеон и Д. Ли
- Масштабирование интернет-маршрутизаторов с использованием оптики И. Кесласси, С. Чуанг, К. Ю, Д. Миллер, М. Горовиц, О. Солгаард и Н. Маккеун