Алгоритм коммутации с параллельно-конвейерной диспетчеризацией пакетов
Приведенный выше псевдокод описания передачи пакетов в КУ позволяет синтезировать алгоритм параллельно-конвейерно-параллельной коммутации пакетов и в дальнейшем построить схему реализующего его коммутационного устройства.
Прежде чем перейти к рассмотрению алгоритма, введем ряд дополнительных обозначений. Определим индикаторную функцию 5такую, чтс, ес
ли в очереди Q1в данный момент времени имеется хотя бы один пакет, и 5 (Qi) = 0, если очередь Q1пуста. Через условимся обозначать операции чтения содержимого регистра и записи значения в регистр.
Граф-схема разработанного алгоритма коммутации пакетов изображена на рис. 2.4.
Алгоритм работает циклически, пока выполняется условие наличия пакетов хотя бы в одной очереди:(вершина 3). Циклическая часть алгоритма
включает входную параллельную секциюцентральный
последовательный участок (вершины 9 и 10), выходную параллельную секцию (вершиныфинальный последовательный участок (вершины 13 и
14). /-я ветвь входной параллельной секции описывает процесс передачи пакетов из очереди Qiв i-й столбец МРі включает 5 шагов: 1) считывание пакета
из очереди (оператор 4.i); 2) определение строки МР, в которую должен быть записан этот пакет согласно реализуемому алгоритму маршрутизации (оператор 5.i); 3) проверка занятости регистра, выбранного для записи пакета (условие 6.i);
4) перенос пакета из очереди с выбранный регистр, если этот регистр свободен, обнуление веса соответствующей вершины графа совместности (оператор 7.i);
5) сдвиг очереди (оператор 8.i).
Рисунок 2.4.
Граф-схема разработанного алгоритма коммутации пакетов
На центральном последовательном участке осуществляется построение графа совместности Γkна ранее определенном носителе Fk(вершина 9), выделяется клика Γk, имеющая максимальный суммарный вес вершин (вершина 10), и тем самым выбирается множество пакетов Fkдля выдачи на выходы КУ. Отметим, что формирование графа Γkпроисходит автоматически на основе уже полученного распределения пакетов по регистрам МР. По сути, это фиктивная операция, не требующая дополнительного времени на выполнение. Выбор клики в соответствии с вершиной 10 алгоритма производится путем построчнопараллельного анализа состояния МР (т.е. фактически вершина 10 является параллельной секцией, включающей nветвей). В каждой строке выбирается пакет, вершина которого в графе Γkимеет максимальный вес среди пакетов, отображенных на ту же строку. Этот процесс требует O (n) временных единиц при последовательной реализации и O (1) временных единиц в случае параллельного вычисления максимума. При использовании пирамидальной схемы нахождения максимума, процесс займет O (log n) единиц времени. Поскольку строки матрицы регистров рассматриваются параллельно, весь процесс выделения клики потребует O (1) единиц времени в лучшем случае (параллельная схема) и O (n) - в худшем случае (последовательная схема). Следует подчеркнуть, что решение задачи выделения клики, отвечающей условию (2.2), за столь малое время достигается благодаря специальному виду рассматриваемых графов, отображенных на матричную структуру.
Следом за вершинами 9 и 10 алгоритма выполняется выходная параллельная секция. Ее i-я ветвь описывает процесс выдачи пакета из i-й строки МР на выход Oi (i = 1, n) и включает два шага: 1) выбор регистра Bjj, в котором находится подлежащий выдаче пакет cj(оператор 11. i); 2) выдачу пакета cjна выход Oiи обнуление регистра Bj(оператор 12.
i). На финальном последовательном участке осуществляется приращение веса вершин для тех пакетов, которые не удалосьвыдать на текущем шаге (оператор 13), и выполняется переход к очередному циклу ретрансляции пакетов (оператор 14). Отметим, что все пакеты обрабатываются в вершине 13 одновременно.
Как видно из граф-схемы разработанного алгоритма, процесс коммутации пакетов является параллельным по входам и по выходам. В то же время конвейерный характер коммутации явно не следует из алгоритма, что обусловлено ограничениями языка граф-схем в части невозможности отображения конвейерных процессов. Однако проанализировав несколько последовательно протекающих циклов ретрансляции пакетов (см. иллюстративный пример ниже), можно увидеть, что загрузка новых пакетов в МР во входной параллельной секции алгоритма выполняется в общем случае до того, как будут выданы все ранее загруженные пакеты в выходной параллельной секции, порождая конвейерный процесс.
Проиллюстрируем работу рассмотренного алгоритма коммутации на примере реализации нескольких последовательно проходящих циклов передачи пакетов. Примем n = 5. Для наглядности будем размещать формируемые на каждом шаге графы совместности непосредственно в матрице регистров (см. рис. 2.5). В обозначении вершин (пакетов) для удобства добавим верхний индекс, который будет указывать номер цикла, в котором пакет был загружен в МР. Нижний индекс вершины, как и ранее, будет обозначать номер входной очереди, откуда был считан пакет. Внутри вершин условимся вписывать их текущие веса.
Исходное состояние МР в начале работы алгоритма (k = 0) условно принято таким, как показано на рис. 2.5,а. Дальнейшее изменение состояния матрицы при k = 1,2,...,8 отображено на рис. 2.5,6-и, соответственно. Очередное множество загружаемых в МР пакетов на каждом шаге определяется случайным образом так, чтобы проиллюстрировать возможные варианты ретрансляции пакетов. Выделяемые на каждом шаге клики графа совместности показаны пунктиром; входящие в них вершины закрашены.
Рисунок 2.5. Иллюстрация работы алгоритма коммутации пакетов
Анализируя рис. 2.5, можно увидеть, что на некоторых шагах в матрице регистров оказывается более nпакетов. Это объясняется тем, что не все ранее загруженные пакеты удается выдать за 1 цикл ретрансляции, при этом в следующем цикле в МР подгружаются новые пакеты (реализуется конвейерный режим обработки).
2.5.
Еще по теме Алгоритм коммутации с параллельно-конвейерной диспетчеризацией пакетов:
- Мохаммед Ажмаль Джамиль Абдо. МЕТОД, АЛГОРИТМ И УСТРОЙСТВО КОММУТАЦИИ С ПАРАЛЛЕЛЬНО-КОНВЕЙЕРНОЙ ДИСПЕТЧЕРИЗАЦИЕЙ ПАКЕТОВ В МАТРИЧНЫХ МУЛЬТИПРОЦЕССОРАХ. Диссертация на соискание ученой степени кандидата технических наук. КУРСК - 2019, 2019
- МЕТОД И АЛГОРИТМ КОММУТАЦИИ С ПАРАЛЛЕЛЬНОКОНВЕЙЕРНОЙ ДИСПЕТЧЕРИЗАЦИЕЙ ПАКЕТОВ. СТРУКТУРНАЯ МОДЕЛЬ КОММУТАЦИОННОГО УСТРОЙСТВА
- ИССЛЕДОВАНИЕ ХАРАКТЕРИСТИК КОММУТАЦИОННОГО УСТРОЙСТВА С ПАРАЛЛЕЛЬНО-КОНВЕЙЕРНОЙ ДИСПЕТЧЕРИЗАЦИЕЙ ПАКЕТОВ
- Структурная модель устройства коммутации с параллельноконвейерной диспетчеризацией пакетов
- Оценка быстродействия коммутационного устройства при использовании параллельно-конвейерной диспетчеризации пакетов
- СТРУКТУРНО-ФУНКЦИОНАЛЬНАЯ ОРГАНИЗАЦИЯ КОММУТАЦИОННОГО УСТРОЙСТВА С ПАРАЛЛЕЛЬНОКОНВЕЙЕРНОЙ ДИСПЕТЧЕРИЗАЦИЕЙ ПАКЕТОВ
- Общие особенности разработанного метода коммутации пакетов
- МЕТОДЫ И УСТРОЙСТВА КОММУТАЦИИ ПАКЕТОВ В МАТРИЧНЫХ МУЛЬТИПРОЦЕССОРАХ
- Структура и формат передаваемых пакетов
- Определение порядка выдачи пакетов из матрицы регистров
- Оценка полного времени прохождения пакетов через коммутационное устройство