62528 (588798), страница 4
Текст из файла (страница 4)
Рисунок 2.2 - Структура коммутатора с разделенной памятью:
RA - чтение адреса; WA- запись адреса; S/P – последовательно параллельное преобразование; P/S - параллельно-последовательное преобразование
Данный метод подразумевает организацию очередей на выходных портах, где все буферы формируют единое пространство памяти. Он привлекателен тем, что дает возможность вплотную приблизиться к теоретическому пределу производительности. Совместный доступ к буферной памяти минимизирует ее емкость, удерживая долю потерянных ячеек в заданных границах: при резком росте интенсивности трафика в направлении какого-либо выходного порта разделение памяти позволяет максимально сгладить пик нагрузки за счет использования свободной части буфера.
Коммутатор Prelude, разработанный фирмой СМЕТ, был одним из первых устройств, применяющих тактированную обработку с групповой буферизацией. Другие широко известные примеры — коммутатор с разделяемой буферной памятью компании Hitachi и устройство GCNS-2000 корпорации AT&T.
Правда, этот метод не свободен от недостатков. Разделяемая память должна работать по крайней мере в N раз быстрее одиночного порта, поскольку ячейки считываются и записываются в память последовательно. Время доступа к памяти — конечная величина, как и произведение числа портов на скорость обмена через порт (NV). Кроме того, необходимо, чтобы централизованный контроллер памяти успевал обрабатывать заголовки ячеек и тэги маршрутизации с той же скоростью, что и память. Чтобы преодолеть серьезные технические трудности, возникающие при использовании множественных классов приоритета трафика, при сложном распределении ячеек, многоадресной и широковещательной передаче, требуется высокое быстродействие памяти и контроллера [1,16].
2.16 МЕТОД ОБЩЕЙ СРЕДЫ
Ячейки могут передаваться через общую среду — кольцо, шину или двойную шину. Примером данного метода является шина с временным разделением (ТОМ), представленная на рисунке 3. Входящие ячейки передаются на шину циклически. На каждом выходе адресные фильтры (Address Filter, AF) в соответствии с тэгами маршрутизации считывают и пересылают свои ячейки в выходные буферные устройства. Дабы не допустить переполнения входной очереди, скорость шины должна быть равной по крайней мере NV ячейкам/с [8,9].
Рисунок 2.3 - Коммутатор с общей средой на базе шины с временным разделением: AF- адресный фильтр; S/P – последовательно-параллельное преобразование; P/S – параллельно-последовательное преобразование
Модуляция выходных каналов упрощает работу адресных фильтров, а широковещательная передача с селекцией — функционирование всей системы. На методе общей среды основана работа нескольких коммутаторов, включая Paris и plaNet компании IBM, Atom корпорации NEC, Fore-Rurmer ASX-100 производства Fore Systems, Синхронная коммутация составных пакетов (Synchronous Composite Packet Switching, SCPS), использующая множественные кольца, — еще один вариант коммутации с обшей средой. Следует отметить, что возможности масштабирования коммутаторов данного типа оказываются ограниченными, поскольку адресные фильтры и выходные буферы должны действовать со скоростью, в N раз превосходящей скорость передачи портов. Кроме того, выходные буферы здесь не являются общими для N портов, а значит, для сохранения прежней вероятности потерь ячеек требуется, большая суммарная емкость буферов, чем в случае применения метода с разделяемой памятью [16].
2.17 МЕТОД ПОЛНОСВЯЗНОЙ ТОПОЛОГИИ
Отличительная особенность данного метода — существование независимого пути для каждой из N2 возможных пар входов и выходов (рисунок 2.4). Таким образом, входящие ячейки транслируются на раздельные шины выходных каналов, а адресные фильтры пропускают эти ячейки в выходные очереди [14].
Рисунок 2.4 – Коммутатор с полносвязанной топологией: AF- адресный фильтр; В – буферы
Преимущества рассматриваемого типа коммутации заключаются в том, что буферизация ячеек происходит на выходных портах и (как в методе с общей средой) отсутствуют ограничения на групповую и широковещательную передачу. Реализация адресных фильтров и выходных буферов достаточно проста: нужно лишь обеспечить требуемую скорость обмена через порт. Метод полносвязной топологии допускает простое масштабирование в широких пределах и позволяет достичь высокой скорости функционирования коммутатора, поскольку все его аппаратные модули работают с одной и той же скоростью.
Примерами использования описанного подхода являются устройства с матричной шиной фирмы Fujitsu и система SPANet компании GTE.
К сожалению, квадратичный рост числа буферов ограничивает количество выходных портов, хотя скорость обмена через порт лимитируется только физическим быстродействием адресных фильтров и выходных буферов.
Устройство The Knockout, разработанное AT&T, было первым прототипом коммутаторов, в которых число буферов уменьшалось ценой небольшого увеличения потерь ячеек. Вместо N буферов на каждом выходе использовалось меньшее фиксированное число буферов L, а общее число буферов составляло NL. Этот подход базируется на предположении, что вероятность одновременного поступления на выходной порт более L ячеек мала. Оказывается, при больших N произвольных (но однородных) параметрах трафика восьми буферов на порт достаточно для удержания доли потерь в пределах одной ячейки из миллиона [14,8].
2.18 МЕТОД ПРОСТРАНСТВЕННОГО РАЗДЕЛЕНИЯ
Простейшим примером системы с пространственным разделением является коммутатор матричного типа, обеспечивающий физическую взаимосвязь с любым из N входных и N выходных портов. Хорошо известны коммутаторы матричного типа с производительностью в сотни гигабит в секунду, в которых применяются входная и/или выходная буферизация и двунаправленный алгоритм разделения памяти. В целях сокращения числа коммутационных элементов (кроссов), которые необходимы для внутренней коммутации каналов, организации взаимосвязей между вычислительными узлами в многопроцессорных системах и, позднее, коммутации пакетов и ячеек ATM, были разработаны многокаскадные сети (Multistage Interconnection Network, MIN), представляющие собой древовидные структуры [6,12].
Баньяновидные сети (свое название они получили потому, что схожи по форме с одноименным тропическим деревом), один из наиболее широко представленных типов сетей MIN, строятся путем формирования каскадов коммутационных элементов [5,6,12]. Основной коммутационный элемент 2x2 обрабатывает входящую ячейку в соответствии с управляющим битом выходного адреса. Если этот бит равен нулю, то ячейка направляется на верхний выходной порт кросса, в противном случае — на нижний.
Рисунок 2.5 - Баньяновидная сеть 8x8
На рисунке 2.5 показано последовательное соединение коммутационных элементов, формирующих Баньяновидную сеть 8x8. Сеть 8x8 формируется рекурсивно, при этом первый бит применяется для транспортировки ячейки через первый каскад, а последние два бита — для маршрутизации ячейки через сеть 4x4 на соответствующий выходной порт.
Итак, в Баньяновидной сети NN n-й каскад выбирает направление передачи ячейки по n-му биту выходного адреса. При N=2n такая сеть состоит из (N/2)\log N элементарных двоичных кроссов. Сети MIN способны автоматически обновлять таблицы маршрутизации (т.е. имеют свойство самомаршрутизации), в случае если выходной адрес полностью определяет маршрут следования ячейки через сеть.
Популярность Баньяновидных сетей объясняется использованием простых коммутационных элементов для обеспечения процесса коммутации; при этом ячейки передаются параллельно и все элементы действуют с одной и той же скоростью (так как нет дополнительных ограничений на размер N или скорость V). При создании больших коммутаторов указанные свойства позволяют легко реализовать модульный рекурсивный подход на уровне аппаратных средств. Коммутаторы Sunshine компании Bell-core и 1100 подразделения Alcatel Data Networks — типичные примеры устройств, в которых применяется данный подход.
Отрицательным свойством Баньяновидных сетей является их принадлежность к блокирующим схемам, причем вероятность блокировки ячейки при ее маршрутизации быстро возрастает с ростом сети [8]. Очевидно, что в таких сетях существует единственный путь с любого входного порта на любой выходной. Регулярные Баньяновидные сети используют только один тип коммутационных элементов. В их разновидности (так называемых SW-Баньяновидных сетях) вероятность блокировки ячеек удается уменьшить, применяя кроссы больших размеров, — они строятся рекурсивно из коммутационных элементов размером LМ, где L>2 и М>2.
Дельта-сети представляют собой подкласс SW - Баньяновидных сетей и обладают свойством самомаршрутизации. Существует несколько типов дельта-сетей: прямоугольная (кроссы имеют одинаковое число входов и выходов), базовая (baseline), омега, флип, куб, обратный куб и др. Сеть дельта-b размером NN содержит logbN каскадов, причем каждый каскад состоит из N/b коммутационных элементов bЬ.
Как уже говорилось, число точек коммутации в Баньяновидных сетях меньше N2, что может приводить к конфликту маршрутов двух ячеек, адресованных на разные выходные порты. При возникновении подобной ситуации, именуемой внутренней блокировкой, лишь одна из двух ячеек способна достичь следующего каскада, а в результате общая производительность снижается.
Одно из решений проблемы состоит в добавлении специальной сети предварительной сортировки (например, так называемого сортировщика Батчера), которая направляет ячейки в Баньяновидную сеть. Сортировщик позволяет избежать блокировок при адресации ячеек на различные выходные порты, но если они одновременно адресуются на один и тот же выход, единственным решением становится буферизация [8,1,14].
2.19 РАЗДЕЛЕНИЕ БУФЕРОВ
Число и размер буферов имеют важное значение при разработке коммутатора. В устройствах с общей памятью централизованный буфер зачастую имеет преимущество перед средствами статистического разделения. Принимая интенсивный поток ячеек на некоторый выходной порт, коммутатор выделяет для них максимально возможную часть буферного пространства, что приводит к экономии последнего, поскольку ячейки поступают на различные порты случайным образом [1,12].
Для коммутационного поля с TDM-шиной и N выходными буферами большая группа ячеек, одновременно поступивших на какой-либо выход, естественно, не может быть принята другим выходным буфером. Тем не менее каждый выходной буфер способен статистически мультиплексировать трафике N входов.
В структурах с N2 выходными буферами, имеющих полносвязную топологию, статистическое мультиплексирование между выходными портами или на любом выходном порте невозможно. В этом случае размер буферного пространства растет экспоненциально.
Буферы могут быть установлены на входе сети Батчера (рисунок 2.6).
Рисунок 2.6 - Входная буферизация
Однако в этом случае возможна блокировка очереди ячейкой, находящейся в ее начале направляемой на занятый выходной порт, даже если выходные порты ячеек, расположенных позади данной, свободны [1,3,5].
В такой ситуации способна выручить дисциплина «пришедший первым обслуживается в случайном порядке» (First In Random Out, FIRO), но, к сожалению, она не имеет простой реализации. Другой способ избежать конфликтов маршрутов — установить буфер непосредственно внутри коммутационных элементов Баньяновидной сети. Если две ячейки одновременно направляются в один и тот же выходной канал, одна из них буферизуется внутри коммутационного элемента. Внутренняя буферизация используется и механизмом управления с помощью обратной блокировки (backpressure): очереди в одном каскаде сети задерживают ячейки предыдущего каскада сигналом обратной связи. Влияние процедуры обратной блокировки может достигнуть первого каскада и привести к созданию очередей на входах. Следует отметить, что внутренняя буферизация способна вызвать блокировку ячейки в начале очереди на каждом коммутационном элементе и, следовательно, не позволяет достичь максимальной производительности.
Еще один вариант — использование рециркуляционного буфера, внешнего к коммутационному полю (рисунок 2.7).