Коммутатор со сбалансированной нагрузкой
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Коммутатор со сбалансированной нагрузкой — это архитектура коммутатора, которая гарантирует 100% пропускную способность без какого-либо центрального арбитража за счет двойной отправки каждого пакета через перекрестную панель. Коммутаторы с балансировкой нагрузки являются предметом исследования для крупных маршрутизаторов, масштабируемых за пределы практического централизованного арбитража. [ нечеткий ]
Введение
[ редактировать ]Интернет -маршрутизаторы обычно строятся с использованием линейных карт, подключенных к коммутатору . Маршрутизаторы, поддерживающие умеренную общую пропускную способность, могут использовать шину в качестве коммутатора, но маршрутизаторы с высокой пропускной способностью обычно используют какое-то перекрестное соединение. В перекладине каждый выход подключается к одному входу, поэтому информация может проходить через каждый выход одновременно. Транзисторы, используемые для коммутации пакетов, обычно переконфигурируются десятки миллионов раз в секунду. Расписание этих конфигураций определяется центральным арбитром , например арбитром Wavefront , в ответ на запросы линейных карт на отправку информации друг другу.
Идеальный арбитраж привел бы к тому, что пропускная способность ограничивалась бы только максимальной пропускной способностью каждого входа или выхода перекрестия. Например, если весь трафик, поступающий на линейные карты 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% пропускную способность с избыточной пропускной способностью всего в 2 раза, если измерять ее по всей системе.
- В основе крупных магистральных сетей обычно лежат оптические каналы, которые невозможно быстро переключить. Они хорошо сопоставляются с каналами 2R/N с постоянной скоростью в ячейке коммутатора с балансировкой нагрузки.
- Таблицы маршрутов не нужно изменять на основе информации о глобальной перегрузке, поскольку глобальной перегрузки не существует.
- Изменение маршрутизации в случае отказа узла требует изменения конфигурации оптических каналов. Но перенаправление может быть заранее рассчитано (существует только конечное число узлов, которые могут выйти из строя), и перенаправление не вызывает перегрузок, которые затем потребовали бы дальнейших изменений таблицы маршрутов.
Ссылки
[ редактировать ]Внешние ссылки
[ редактировать ]- Оптимальная балансировка нагрузки И. Кесласси, К. Чанг, Н. МакКаун и Д. Ли
- Масштабирование интернет-маршрутизаторов с использованием оптики И. Кесласси, С. Чуанг, К. Ю, Д. Миллер, М. Горовиц, О. Солгаард и Н. Маккеун