62528 (588798), страница 6
Текст из файла (страница 6)
Рисунок 3.11 - Схема реализации кольцевого резервирования
в предыдущий временной интервал, то ячейка у входа 2 не может быть отправлена. В пятый и шестой промежутки времени ячейки у вводов 3 и 4 так же не могут быть отправлены к выводам 1 и 3 соответственно, т.к. уже были зарезервированы в предыдущий временной интервал. В итоге ячейки у входных проверенных портов оказываются в конфликтной ситуации. В данном примере арбитражный цикл может быть завершен за шесть временных интервалов, поскольку имеется шесть входных портов. В этой схеме используется серийный механизм, и в целом арбитражный цикл может состоять из N бит временных интервалов, где N обозначает число портов ввода и вывода коммутатора, что может стать критическим параметром при большом количестве портов. Однако, эта схема обеспечивает равноправие портов, произвольно устанавливая нужные значения счетчиков перед арбитражем. Эта схема может быть использована на вводах любой коммутационной системы.
3.4 СОЛНЕЧНЫЙ КОММУТАТОР
В этом коммутаторе сочетается сортирующая Батчер сеть и параллельно-направляющая Баньян сеть. Таким образом, к каждому выводу подходит более одного канала. На рис. 3.12 дана блок-схема строения этого коммутатора [17,18,19]. Параллельная сеть маршрутизации с автоблокировкой k обеспечивает k отдельных трактов каждому выводу. Если более, чем k ячеек делают запрос на определенный вывод за один временной интервал, тогда часть ячеек отправляется в очередь общей рециркуляции и затем снова передаются в коммутационную систему к назначенным вводам. Очередь рециркуляции состоит из Т параллельных цепей и Т назначенных вводов в сортирующую сеть с накопителем. Каждая цепь рециркуляции может сохранять одну ячейку. В каждой цепи имеется блок задержки для выстраивания рециркулирующих ячеек с ячейками, прибывшими из контролирующих устройств вводных
Рисунок 3.12 - Блок-схема солнечного коммутатора
каналов (IPC) в следующий временной интервал. В течение каждого интервала сеть с накопителем сортирует новоприбывшие и рециркулирующие ячейки в порядке приоритета и адресов назначения. Это позволяет заграждающей сети, выбирая k ячейки высшего приоритета для каждого вывода, разрешать конфликты у выходных портов. Поскольку в устройстве существует k параллельных сетей с автоблокировкой, каждый вывод может принимать k ячеек каждый временной интервал. Если для одного вывода назначено больше, чем k ячеек, их излишек будет отправляться в очередь рециркуляции. Концентратор и селектор направляют лишние ячейки в цепи рециркуляции, а выбранные ячейки будут направлены в сети с автоблокировкой. Каждая ячейка проходит в контролер входного порта со служебным заголовком.
В него входят два контрольных поля: поле трассировки и приоритетное поле (рисунок 3.13).
Рисунок 3.13- Формат заголовка
Оба упорядочиваются, начиная с наиболее значительного бита. В поле трассировки первый бит -бит активности ячейки, указывающий, содержит ли ячейка значимую информацию (А=1) или она пуста (А=0). Затем следует поле адресов назначения (DA), определяющее нужный выходной порт. Приоритетное поле состоит из индикатора качества и класса услуг передачи (QoS) и внутреннего приоритета коммутатора (SP). QoS поле различает ячейки услуг высшего приоритета и услуг низшего приоритета. К первым относится схемная эмуляция, а ко вторым услуги без установления связи. QoS поле следит за тем, чтобы в случае конфликта, ячейки высшего приоритета трассировались первыми. SP поле используется коммутатором для указания числа временных интервалов, в течение которых задерживалась ячейка. Оно также дает высший приоритет рециркулирующим ячейкам. Поэтому ячейки из данного источника трассируются последовательно.
При сортировке ячейки распределяются в возрастающем порядке их адресов назначения. Приоритетное поле, в котором высшее численное значение соответствует высшему уровню приоритета, является продолжением поля трассировки. Это является причиной того, что ячейки, назначенные в один порт выхода, располагаются в убывающем порядке приоритета. В сети заграждения адреса ячеек сравниваются с адресом ячейки, находящейся на k позиций выше. Если они совпадают с адресом ячейки, стоящей на k позиций выше (а это значит, что имеется, по крайней мере, k ячеек высшего приоритета), они отмечаются и отправляются на рециркуляцию. Их поля трассировки заменяются приоритетными полями, т.к. последние важнее для последующей работы сортирующей системы и предотвращения потерь ячеек при рециркуляции. Если их адреса не совпадают, значит ячейка является одной из k ячеек высшего приоритета и может трассироваться.
В концентрационных сетях с накопителем существует две группы ячеек: одна для трассировки, другая для рециркуляции. Обе группы сортируются в непрерывные списки. Чтобы предотвратить блокирование в сети с автоблокировкой, группа ячеек трассируется из списка в восходящем порядке адресов. Группы ячеек для циркуляции сортируются в отдельный список в порядке приоритета и адресов назначения. Если очередь рециркуляции переполняется, для ячеек, направленных в выводы с высокими номерами, больше вероятности быть удаленными, чем для ячеек, направленных в выводы с низкими номерами.
Затем, ячейки направляются в селектор, который разделяет их на две группы и направляет их либо в k сеть с автоблокировкой, либо в Т рециркуляторы. Ячейки, попадающие в рециркулятор, изменяют поля приоритета и трассировки в первоначальный формат. После рециркуляции их приоритет (SP) повышается [14].
Выводы селекторов распределены между k сетями с автоблокировкой, путем соединения k выводов с соответствующей сетью с автоблокировкой. Поэтому, если две ячейки назначены в один вывод, они будут направляться в разные сети с автоблокировкой. В каждой сети с автоблокировкой ячейки формируют непрерывные списки, направленные в определенные выводы, что обеспечивает деблокирование в сети с автоблокировкой. Каждая ячейка достигает нужного вывода в сети с автоблокировкой, и затем все соответствующие выводы группируются и образуют очередь в контролере выходного порта (ОРС).
3.5 МАРШРУТИЗАЦИЯ С ОТКЛОНЕНИЕМ
3.5.1 ТАНДЕМНЫЙ (СПАРЕННЫЙ) БАНЬЯН КОММУТАТОР
На рисунке 3.14 изображена тандемная коммутационная Баньян сеть (TBSF) [17].
Рисунок 3.12 - Тандемная коммутационная Баньян сеть
Данная сеть состоит из множества Баньян сетей. При конфликте ячеек в каком-либо узле системы, одна из них будет отклоняться в неверный вывод узла и придет по неверному адресу назначения в Баньян сети. Затем отклонившаяся ячейка передается в следующую Баньян сеть. Этот процесс повторяется до тех пор, пока ячейка не достигнет нужного вывода, или же пока она не выйдет в неверный вывод последней Баньян сети и, таким образом будет считаться потерянной. Каждый вывод Баньян сети соединен с соответствующим выходным буфером. Каждая отклонившаяся ячейка отмечается, чтобы ее можно было отличить от ячейки, идущей верно и не изменит ее маршрута в последующих каскадах сети. На выводах каждой Баньян сети, все ячейки, достигшие своего пункта назначения, извлекаются из коммутационной системы и буферизуются. Таким образом, нагрузка в последовательно соединенных Баньн сетях, а также вероятность конфликтов уменьшается. При достаточно большом числе таких последовательно соединенных сетей, можно уменьшить коэффициент потерь до желаемого. Численные результаты показывают, что каждая, добавленная к этой последовательности Баньян сеть, уменьшает вероятность потерь на один порядок величины. TBSF работает следующим образом. К каждой входящей в коммутационную систему ячейке прилагается коммутационный заголовок, содержащий 4 следующих поля:
-
Бит активности а: указывающий, содержит ли область ячейку (я=1) или она пуста(я=0).
-
Бит конфликтов с: указывающий, отклонялась ячейка в предыдущих каскадах данной сети (с=1) или нет (с=0).
-
Приоритетно поле Р: оно является факультативным и используется при наличии в коммутаторе большого числа приоритетов.
-
Адресное поле D: содержащее адреса назначений d1, d2,...dn n=(log2N).
Состояние коммутационного элемента в каскаде s сети с автоблокировкой первоначально определяется тремя битами в заголовке двух вводимых ячеек, а именно а, с, ds. При большом количестве приоритетов используется так же поле Р. В следующем алгоритме биты, обозначенные 1 и 2, соответствуют двум вводным ячейкам.
-
Если а1=a2=0, ничего не предпринимайте.
-
Если а1=1, a a2=0, установите коммутатор в соответствии с ds1
-
Если а1=0, а2=1, установите коммутатор в соответствии с ds2
-
а1=а2=1, тогда
а) если c1=c2=1, ничего не предпринимайте
б) если c1=0, а c2=1, установите коммутатор в соответствии с ds1
c) если c1=1, а c2=0, установите коммутатор в соответствии с ds2
d) если c1=c2= 0, тогда:
I. если P1>P2, то установите коммутатор в соответствии с ds1
II. если P1<Р2, то установите коммутатор в соответствии с ds2
III.если Р1=Р2, то установите коммутатор в соответствии с ds1
или ds2.
Чтобы уменьшить число буферизуемых на каждом каскаде битов при выполнении этого алгоритма и сократить задержку, адрес бита помещается в исходное положение адресного поля. Для этого нужно циклически сдвигать адресное поле на один бит в каждом каскаде. Таким образом, можно сократить задержку до времени, соответствующего прохождению 3-х бит, в каждом каскаде, без учета поддержки множественного приоритета и сохранять ее постоянной.С конфликтным битом легко отличить ячейки, отклонившиеся от маршрута и ячейки с верным маршрутом на выходе каждой сети с автоблокировкой: если с=0, значит ячейка трассировалась верно, а если с=1, значит эта ячейка отклонилась. Ячейка с c=0 буферизуется и не принимается следующей сетью с автоблокировкой. Ее бит активности становится равным 0. Ячейка с с=1 не буферизуется на выходе, но принимается следующей сетью с автоблокировкой, и ее конфликтный бит становится = 0 для дальнейшей маршрутизации.
Все ячейки, поступающие в тандемный Баньян коммутатор за один временной интервал, синхронизируются по тактам через всю коммутационную систему. Если не учитывать задержки на распространение сигнала, то задержка каждой ячейки в сети постоянна и равна п задержкам на обработку в коммутационном элементе, что составляет временную разницу прибытия двух ячеек из соседних Баньян сетей. Для того, чтобы ячейки из разных сетей поступили в выходной буфер одновременно, между каждым выводом и Баньян сетью можно поместить соответствующий элемент задержки.
Кроме того, память выходного буфера должна иметь выходную пропускную способность равную V бит/с и входную пропускную способность равную KV бит/с, для того чтобы принять все К ячейки, прибывающие за один временной интервал.
3.5.2 КОММУТАЦИОННАЯ СИСТЕМА С ПЕРЕСТАНОВКОЙ И МАРШРУТИЗАЦИЕЙ С ОТКЛОНЕНИЕМ
Рассмотрим NN коммутационную систему с перестановкой (SN) с n=log2N каскадами, каждый из которых состоит из N/2 22 коммутационных элементов. На рисунки 3.15 представлена коммутационная система с перестановкой 88 [19,20].
Рисунок 3.15 - Коммутационная система с перестановкой 88
Коммутационные узлы на каждом каскаде отмечены сверху вниз двоичным числом в (n-1) бит. Верхний ввод/вывод узла отмечен 0, а нижний - 1. Ячейка будет направлена в вывод 0 (1) в каскаде i, если i наиболее значительный бит адреса ее назначения =0 (1). Взаимосвязь между 0 двумя, следующими друг за другом каскадами называется перестановкой. Вывод am узла X=(a1, a2...an-1) соединен со вводом а1 узла Y=(a2, а3......аn) следующего каскада. Связь между узлами X и Y обозначена .
Канал от ввода к выводу, по которому трассируется ячейка определяется ее адресом источника S=sl...sn и адресом ее назначения D=d1...dn, что символически выражается так [19,20]:
Последовательность узлов на канале выражается двоичной цепью s2...sn, d1...dn-1, представленной (n-1) разрядным окном, сдвигающимся на один бит слева направо в каждом каскаде. Трассировку ячейки по SN можно обозначить парой (R,X), где R - текущая трассировка, а X - узел постоянного хранения ячейки. В первом каскаде ячейка находится в состоянии (dn...d1, s2...sn) Состояние передачи определяется алгоритмом самотрассировки так [19,20]: