УДК 681.3.06
ПРОЕКТИРОВАНИЕ СТРУКТУРЫ ЛОКАЛЬНОЙ СЕТИ ДЛЯ РАСПРЕДЕЛЕННОЙ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ
A.B. Погребной, Д.В. Погребной
Институт «Кибернетический центр» ТПУ E-mail: [email protected]
Сформулирована задача проектирования структуры локальной сети вычислительной системы реального времени. Предложен метод решения задачи, включающий операции построения графа передач данных между станциями сети, матрицы наличия конфликтов при доступе к магистралям сети, диаграммы совмещения параллельных передач данных. Изложение метода сопровождается пояснениями на примерах.
Введение
Рассматривается многопроцессорная вычислительная система для управления объектами с территориально распределенным оборудованием. Система относится к классу систем реального времени с жесткими ограничениями на время вычисления управляющих воздействий и строится на базе типовых станций (контроллеров) объединенных в локальную сеть. Стремление сократить время реакции системы на входные воздействия является преобладающим критерием для всех этапов проектирования таких систем. Основные задержки времени в системе приходятся на работу процессоров станций при выполнении программных модулей технологических алгоритмов, реализующих прикладные функции системы и на передачу данных между станциями в локальной сети.
Потребность в передаче данных в сети возникает всякий раз, когда при выполнении программного модуля используются ресурсы более чем одной станции. Например, модуль выполняется процессором одной станции, а программа модуля и необходимые данные хранятся в памяти других станций. Затраты времени на передачу данных между станциями сети могут оказаться соизмеримыми с временем работы процессоров при выполнении модулей. Поэтому при проектировании вычислительной системы наряду с определением числа станций, способных выполнить прикладные функции в установленное время, важно построить локальную сеть системы и план использования ее ресурсов так, чтобы сократить затраты времени на передачу данных.
Постановка задачи проектирования структуры сети
Задачу построения сети будем решать в условиях, когда минимально необходимое число станций для сети определено [ 1], а алгоритмы выполнения прикладных функций, составляющих основную часть программной нагрузки на вычислительную систему, представлены в форме информационного графа, построенного для модели программной нагрузки [2]. Информационный граф (7=(ДДЛ) является двудольным взвешенным графом, где Б - множество вершин данных 1)=Ш с
указанием для каждого Б размера требуемой памяти Рр д= 1,2,..., 0; Р — множество вершин модулей /={/„} с указанием для каждого/ме/величины потребляемого процессорного времени Тм, т=\,2,...,М; В=\\Гд20хМ- матрица объемов данных, передаваемых между вершинами графа О.
На графе О заданно разрезание [3] на множество подграфов {(г,), /=1,2,...,и. Число подграфов и соответствует числу станций вычислительной системы. Вершины подграфа 0! по требуемой памяти Р9 и процессорному времени Тт суммарно не превышают ресурсы станции $ по памяти и процессорному времени Величина равна числу временных тактов, которые процессор станции сможет выделить для выполнения модулей подграфа 0! за один цикл моделирования.
Разрезанию {С?г} соответствует множество С ребер графа О, С=и Ср где - множество ребер, связывающих между собой подграфы и Ц. Каждому ребру ст, связывающему вершину с19 и /т в графе О, соответствует элемент гт матрицы Я. Поэтому объем данных, передаваемых в сети между станциями и можно определить величиной гф
г,= I
г .
qm
(1)
Таким образом, общий объем передаваемых по сети данных за один цикл моделирования для разрезания {О,} составит величину г,
г=Т/г (2)
из
Если пропускную способность магистрали сети обозначить величиной <р, определяющей объем данных, передаваемых за один такт моделирования, то для успешной работы локальной сети, построенной на базе одной магистрали, должно выполняться условие:
(г/ср)К<11. (3)
Здесь /л - число временных тактов в одном цикле моделирования; к9 — коэффициент, учитывающий факторы снижения значения ср в реальной сети.
Очевидно, что решить проблему своевременной передачи данных в сети путем увеличения числа ¡л нельзя, так как величина г также зависит от ¡л. По-
этому, если условие (3) не выполняется, то это означает, что сеть на одной магистрали с параметром Ф не работоспособна и необходимо принятие решений по уменьшению величины г или увеличению значения параметра ср. Среди таких решений могут быть следующие:
• найти другое разрезание с более низким значением г;
• построить сеть на базе магистрали с более высокой пропускной способностью;
• выбрать другую структуру сети, построенную на базе нескольких магистралей.
Будем считать, что первые два вида решений исчерпаны, также как и многие другие, связанные, например, с изменением информационного графа, условий поступления входных и обновления выходных данных и другими изменениями в программной нагрузке. Рассмотрим решения по выбору структуры сети, построенной на базе нескольких магистралей с неизменной величиной <р, способной за цикл моделирования передать объем данных г. Перед изложением метода решения данной задачи приведем ряд примеров объединения нескольких магистралей в сеть и условий их загрузки при передаче данных.
Анализ базовых вариантов сетей
Число магистралей в сети ориентировочно можно определить исходя из отношения (г/(р)к<!л.
Полученный результат округлим в большую сторону и примем его как минимально возможное число магистралей в сети. Построим варианты структур сетей с различным числом магистралей. Варианты структур сетей будем считать базовыми и создадим для их хранения библиотеку. Базовые сети отражают различные конфигурации связи нескольких магистралей. На рис. 1 приведены примеры четырех базовых сетей.
Каждый пример базовой сети сопровождается диаграммой, которая иллюстрирует возможную загрузку магистралей сети при передаче данных между станциями. При этом предполагается, что станции подключены к каждой магистрали сети, а передача данных осуществляется как между станциями одной магистрали, так и между станциями разных магистралей. Длины отрезков, отражающих объемы передаваемых данных, приняты произвольно. Над каждым отрезком указан перечень магистралей, участвующих в передаче данных. Например, запись 1-4-2 над отрезками диаграммы (рис. 1, г) обозначает загрузку магистралей М\, МА, М2 при передаче данных между станциями, подключенными к магистралям М\ и М2. Заметим также, что параллельно с этой передачей могут передаваться данные между станциями, подключенными к магистрали МЗ, то есть отрезок 3 на диаграмме рис. 1, г, может размещаться параллельно отрезкам 1-4-2.
Анализ приведенных на рис. 1 базовых сетей по соответствующим диаграммам позволяет сделать
1-2
1-2
М2
Ж
МЗ
ж
М2 МЗ
1 1-2 1-2-3
2 1-2 2-3 1-2-3
3 2-3 1-2-3
М2
Ж
МА
МЗ
Ж.
М2. МЗ-МА -
1-2
1-2-3
1-2-3-4
1-2
2-3 1-2-3 2-3-4 1-2-3-4
3-4 2-3 1-2-3 2-3-4 1-2-3-4
3-4
2-3-4 1-2-3-4
МА
Ж
М2
МЗ
Ж Ж МЗ МА
1 1-4 1 -4-2 1-4-3
2 2-3 1 -4-2 2-4-3
3 3-4 1-4-3 2-4-3
4 1-4 2-3 3-4 1 -4-2 1-4-3 2-4-3
Рис. 1. Примеры базовых сетей и диаграмм загрузки магистралей 98
ряд выводов. В сети (а) станции желательно подключать к магистралям М1 и М2 так, чтобы отрезки 1 и 2 были примерно равны, а отрезок 1-2 был минимальной длины. Для сети (б) критичной по загрузке является магистраль М2. В сети (в) такими магистралями являются М2 и Л/3, а в сети (г) магистраль А/4. Для данных сетей наилучшим вариантом подключения станций к магистралям будет такой вариант, который обеспечивает равную и минимальную загрузку магистралей. Например, для сети (б) условие равенства загрузки магистралей можно записать в виде: [1]+[1-2]=[2]+[1-2]+[2-3]=[3]+[2-3]. Здесь квадратные скобки обозначают длину соответствующих отрезков. Аналогичные условия равенства загрузки магистралей можно записать для сетей (в) и (г). Минимально возможная загрузка магистралей достигается в случае, если подключение станций к магистралям удается выполнить таким образом, что между станциями, подключенными к разным магистралям, данные не передаются.
Метод решения задачи построения сети
При изложении метода решения задачи выбора базовой сети и варианта подключения станций к магистралям будем придерживаться примера информационного графа, представленного на рис. 2. Кружками здесь показаны данные а планками -модули ./„. У каждого ребра, связывающего вершины с19 и/„ проставлены веса гт равные объему данных, передаваемых между вершинами с19 и /„ за один цикл моделирования [2]. Пунктирными линиями выделены подграфы разрезания и указаны номера станций, ресурсы которых занимают данные подграфы.
Пусть пропускная способность магистралей составляет 10 единиц объемов передаваемых данных за 1 такт, то есть величина <р= 10, коэффициент £„,=1,3, а цикл моделирования ¡л равен 12 тактам. Тогда для принятого варианта распределения модулей и данных по станциям можно определить ориентировочное число магистралей сети. Для этого на основе матрицы Я согласно (2) вычисляем общий объем данных г, передаваемых между станциями. Для нашего примера г 198 единиц. Время на передачу данных составит (г/<р)к=( 198/10)1,3=25,74 тактов, что превышает цикл моделирования более чем в 2 раза. Таким образом, в сети должно быть не менее трех магистралей.
Исходя из имеющихся сведений о числе станций, распределения по ним модулей информационного графа, общей загрузке сети и рекомендации по числу магистралей, задачу выбора структуры сети можно сформулировать следующим образом. Необходимо выбрать структуру базовой сети и варианта подключения станций к магистралям сети так, чтобы по возможности большая часть данных могла передаваться между станциями сети параллельно.
Метод решения задачи основан на выявлении в структуре сети возможностей параллельных передач данных для различных вариантов подключения станций к магистралям базовой сети. С этой целью выполняется совокупность операций по построению следующих объектов:
• граф передачи данных между станциями сети;
• матрица наличия конфликтов при доступе к магистралям сети;
• диаграмма совмещения параллельных передач
данных.
Граф передачи данных строится на ос-
нове варианта распределения модулей и данных графа С по станциям и матрицы весов /<НЫ1- Вершина е ¡V графа Р соответствует станции щ на которую распределены модули и данные подграфа Ц разрезания {б1;}. Наличие ребра^¿соответстврт тому, что подграфы и Щ связаны между собой ребрами информационного графа #ве Ср то есть Каждому ребру щ графа Р ставится в соответствие величина которая вычисляется по выражению (1) и определяет объем данных, передаваемых между станциями л и | за один цикл моделирования.
Пример графа Р, построенного для разрезания, показанного на рис. 2, представлен на рис. 3. Граф Р содержит 6 вершин по числу станций.
Веса г, ребер щ представленные на рис. 3, получены по выражению (4) и в сумме составляют 198 единиц.
Построение матрицы наличия конфликтов 0 осуществляется на основе графа Р и варианта подключения станций к магистралям выбранной базовой сети. Методику построения матрицы 0 покажем на рассматриваемом примере. В качестве базо-
вой структуры сети выберем вариант с тремя магистралями, представленный на рис. 1, б. На рис. 4, а, показан один из вариантов подключения станций к магистралям данной сети.
Размерность матрицы 0 определяется числом ребер графа Р. Множество ребер (ги, г23,
?4,5, %) графа Р обозначим соответствующими кодовыми номерами, сохранив в них номера станций. Получим множество кодовых номеров ребер
(13, 14, 23, 24, 35, 36, 45, 56) и, соответственно, номеров строк и столбцов матрицы 0. Так, например, номер ребра 24, означает наличие передач данных между станциями 2 и 4 с объемом г24=42 единиц. Элемент щ матрицы наличия конфликтов ¿МЫ!* V,^(13,14,23,24,35,36,45,56) определяется следующим образом: qл= l, если пары станций ребер V и к при передаче данных в сети (рис. 4, а) имеют конфликт по доступу к магистрали; |Л=0, в противном случае.
Так, например, элемент q14,45=1, так как при одновременной передаче данных между станциями & и х, и станциями и & имеет место конфликт за доступ к магистрали. Напротив, элемент ^56:1з=0, так как и при одновременной передаче данных в парах станций щ, л. и % Ц конфликта за доступ к магистрали не будет. Это объясняется тем, что в данном случае используются разные магистрали. Построенная таким образом матрица 0 представлена на рис. 4, б.
В матрице ()ш рис. 4, б, строки и столбцы 35, 36 выделены. Они отличаются тем, что у них все элементы дгк= 1, у^к. Это означает, что при передаче данных между соответствующими станциями, например, для строки 35 - это станциищ и заняты все три магистрали и параллельно с парой % Щ не мо-
Рис. 4. Вариант сети: а) вариант подключения станций к базовой сети; б) матрица наличия конфликтов 0
24_14 23 45 _ 35 _ 36
56_ < 45 35 j 36
13_1 М 2'3 | 35 д 36
Н—I—I—I—I—I—I—I : t ' 1—f—1—I—l-M—I—l-i—i—I—|—)
10 20 30 40 50 60 70 80 90 100
13(40) 14(6)
23(12)
Ш
Щ м\
Рис. 5. Построение диаграммы совмещения: а) граф 0; б) диаграмма совмещения передач данных; в-д) преобразования графа 0 при построении диаграммы
гут выполняться передачи данных между станциями во всех других парах. Поэтому выделенные строки и столбцы могут быть исключены из матрицы Q.
На основе матрицы Q строится диаграмма совмещения параллельных передач данных. Для удобства построения диаграммы матрица Q принимается в качестве матрицы связности вершин графа. Соответствующий граф Q представлен на рис. 5, а. Вершины 35, 36 в граф Q не вошли по изложенной выше причине. Включать эти вершины в граф Q нет смысла, т. к. при передаче данных в соответствующих парах станций происходит захват всех магистралей сети и, следовательно, передачи данных в других парах станций параллельно с указанными невозможны. В скобках у вершин графа Q указанны объемы данных, передаваемых между соответствующими станциями.
Для построения диаграммы в графе Q последовательно выделяются максимальные пустые подграфы [3] и объемы передач соответствующих вершин совмещаются на диаграмме (рис. 5,6). Так, на первой стадии выделяется максимальный пустой подграф, например, с вершинами 13, 56, 24 и соответствующие объемы 40, 54 и 42 единицы могут передаваться в сети параллельно и, следовательно, на диаграмме они совмещаются. Вершины с минимальным объемом передач данных исключаются из графа Q. В данном случае это вершина 13, а вершины 56'и 24' сохраняются в графе с новыми объемами 14 и 2 единицы (рис. 5, в) и помечаются штрихами. При формировании следующего максимального пустого подграфа вершины, помеченные штрихами, выбираются в первую очередь. Для графа на рис. 5, в, выбираются вершины 56'и 24'. Вершина 24'исключается, и процесс продолжается для графа на рис. 5, г. Здесь выбираются вершины 56" и 14. Вершина 14 исключается, а для графа на рис. 5, д, максимальный пустой подграф включает вершины 56 "и 23. Обе они последовательно исключаются из графа, а оставшаяся вершина 45 отражается на диаграмме.
Заметим, что при построении диаграммы (рис. 5, б) объемы передаваемых данных для каждой вершины графа отражаются на всех магистралях, участвующих в передаче этих данных. Построение диаграммы завершается отражением объемов передач для вершин 35 и 36, помеченных в матрице ß и не вошедших в граф Q.
Из диаграммы следует, что суммарный объем передач данных в сети с учетом их совмещения составляет 104 единицы или при <р=10-10,4 времен-
СПИСОК ЛИТЕРАТУРЫ
1. Погребной A.B. Определение числа и топологии размещения станций многопроцессорной вычислительной системы // Известия Томского политехнического университета. - 2006. -Т. 309. - № 7. - С. 160-164.
2. Погребной A.B. Определение объемов передач данных в сети вычислительной системы для заданной модели программной
ных тактов, что укладывается в цикл моделирования 12 тактов. Однако при этом коэффициент к9 достигает лишь величины 1,15. Общий объем передач данных согласно графа Р составляет 198 единиц. Таким образом, для выбранной локальной сети и варианта подключения станций, рис. 4, а, последовательная цепь передач данных за счет использования параллельных передач сокращается с 198 до 104 единиц. Соответственно сокращается время передач с 19,8 до 10,4 тактов. Оценивая сокращение времени передач, следует иметь в виду, что выигрыш в 9,4 такта сократится на величину задержек в адаптерах, связывающих магистрали в сети.
Заключение
Удалось формализовать переход от плана использования ресурсов, получаемого при решении задачи распределения модулей и данных информационного графа по станциям вычислительной системы, к задаче выбора структуры ее локальной сети с минимальными затратами времени на передачу данных.
Результат, полученный при решении задачи выбора структуры сети, в общем случае следует рассматривать как один из возможных. Действительно, если в полученной сети изменить подключение станций к магистралям, то изменится матрица конфликтов и, соответственно, диаграмма. Для поиска наилучшего варианта структуры сети, доставляющего наибольшее совмещение параллельных передач данных, нужно перебрать множество приемлемых базовых сетей и для каждой из них сформировать и оценить множество вариантов подключения станций. При формировании вариантов подключения станций решения принимаются на основе анализа графа передач данных и структуры базовой сети.
Эксперименты показали, что для сетей на основе 2-4 магистралей с подключением до 10 станций перебор базовых сетей и поиск наилучших вариантов подключения станций с использованием изложенных правил не приводит к большим объемам вычислений. При дальнейшем увеличении размерности сетей необходимо наряду с предложенными выше разработать дополнительные более эффективные правила отсеивания неперспективных вариантов сетей на основе сопоставления весов ребер графа передач данных и структуры графа конфликтов базовой сети.
нагрузки // Известия Томского политехнического университета. - 2007. - Т. 310. - № 3. - С. 103-107.
3. Кристофидес Н. Теория графов. Алгоритмический подход. -
М.: Мир, 1978. - 432 с.
Поступила 31.10.2007г.