Научная статья на тему 'Проектирование структуры локальной сети для распределенной вычислительной системы реального времени'

Проектирование структуры локальной сети для распределенной вычислительной системы реального времени Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
539
95
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Погребной А. В., Погребной Д. В.

Сформулирована задача проектирования структуры локальной сети вычислительной системы реального времени. Предложен метод решения задачи, включающий операции построения графа передач данных между станциями сети, матрицы наличия конфликтов при доступе к магистралям сети, диаграммы совмещения параллельных передач данных. Изложение метода сопровождается пояснениями на примерах.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Проектирование структуры локальной сети для распределенной вычислительной системы реального времени»

УДК 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.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

На основе матрицы 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г.

i Надоели баннеры? Вы всегда можете отключить рекламу.