Научная статья на тему 'Определение числа и топологии размещения станций многопроцессорной вычислительной системы'

Определение числа и топологии размещения станций многопроцессорной вычислительной системы Текст научной статьи по специальности «Математика»

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

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

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

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

Похожие темы научных работ по математике , автор научной работы — Погребной А. В.

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

Determination of Number and Topology of Station Distribution of Multiprocessor Computer System

The problems of topology design of multiprocessor computer system for managing the objects with geographically distributed equipment have been considered. The source data are the coordinates of sensor and actuator location (terminal points) on the topological field of managing object and a set of microprocessor stations. In the job class of mathematical programming the statements and methods of problem solving on the determination of the number of computer system stations, the places of their distribution on the object topological field, the distribution of terminal points over the stations are suggested. The concept of compact partitioning of the topological field points into subsets is introduced. Some properties of compact and local compact partitioning are presented.

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

УДК 681.3.06

ОПРЕДЕЛЕНИЕ ЧИСЛА И ТОПОЛОГИИ РАЗМЕЩЕНИЯ СТАНЦИЙ МНОГОПРОЦЕССОРНОЙ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ

А.В. Погребной

Институт «Кибернетический центр» ТПУ E-mail: Sasha@ad.cctpu.edu.ru

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

Введение

Проектирование систем управления объектами с территориально распределенным оборудованием может осуществляться на основе типовых станций (контроллеров) объединенных локальной сетью в многопроцессорную вычислительную систему. Каждая станция может содержать один или несколько процессоров, оперативную и внешнюю память, другие устройства в зависимости от функционального назначения станции. Промышленность выпускает наборы станций с разными возможностями. Станции технологического назначения располагаются непосредственно вблизи оборудования и способны принимать широкий набор типов сигналов с датчиков и выдавать сигналы на исполнительные механизмы объекта. Для каждой станции набора известны типы и количество входных и выходных сигналов, которые могут быть поданы на станцию. Будем считать также, что оборудование объекта управления размещено на плоскости, именуемой топологическим полем. Заданы размеры топологического поля и координаты точек, определяющие места съема входных и выдачи выходных сигналов с указанием их типов. Такие места будем именовать терминальными точками.

В работе ставится цель определить минимальное число станций вычислительной системы, способных подключить все терминальные точки объекта управления и найти такую топологию размещения станций, чтобы сумма затрат на подключение точек была минимальной. Для достижения этой цели необходимо решить следующие задачи:

• выбрать число станций каждого вида, которые позволяют подключить все терминальные точки топологического поля;

• определить места размещения станций на топологическом поле;

• распределить терминальные точки топологического поля по станциям.

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

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

Задача определения числа станций

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

В данном случае рассматривается фактор подключения терминальных точек к станциям и решается задача выбора минимального числа станций способных подключить все терминальные точки объекта управления. Заметим также, что полученное таким образом число станций принимается в качестве стартовой величины и при поиске решений с учетом перечисленных выше факторов может лишь возрастать.

Совокупность терминальных точек топологического поля обозначим множеством Е,

Е = иЕг, П Ег = 0, \ЕГ\= Ьг, г = 1,2,..., Я,

где Ег - подмножество точек г-го типа в множестве Е; Ьг - число точек г-го типа в множестве Е; Я - число типов точек на топологическом поле.

Число видов станций, которые могут быть использованы для построения вычислительной системы, обозначим величиной 5. Для станций я-го вида введем вектора подключения точек

As = {a„}, s = 1,2,..., 5,

где as - допустимое число мест подключения терминальных точек r-го типа в станции s-го вида.

Способность станций подключать терминальные точки согласно векторам As представим матрицей A, A=||aJM.

Введем переменную xs, которая определяет число станций s-го вида, используемых при подключении точек множества E. Тогда задачу определения минимального числа станций, необходимых для подключения всех точек множества E можно записать в виде:

Z Xs ^ min, (1)

s=1

Z arsXs ^ br , Г = 1,2,•••, R (2)

s=1

xs>0 для всех s=1,2,...,S. (3)

Задача (1)-(3) относится к классу задач целочисленного линейного программирования. Величины ars и Ьг в ограничениях (2) - положительные числа, часто и целые, для многих приложений - булевские. Данная задача более известна как задача покрытия [1]. В рассматриваемом приложении задачу можно представить как задачу покрытия терминальных точек множества E заданного вектором В={Ь}, векторами подключения станций As={aJ. В результате решения задачи (1)-(3) получим вектор X*={x*}, компоненты х* которого определяют минимальное число станций s-го вида, необходимых для подключения терминальных точек множества E.

Определение мест размещения станций

Решение данной задачи предлагается осуществлять в два этапа. На первом множество терминальных точек E разбивается на P подмножеств E, p=1,2,...,P.

UEp = E, Ep ПEq = 0,(p,q) = 1,2,...,P,

P = ±x:, |Ep| = |E| / P.

s=1

Второй этап включает операции по анализу состава типов точек множества El и выбора для него подходящего вида станции и места ее размещения. Разбиение множества E на подмножества El может быть выполнено так, что между составами точек множеств El и векторами подключения станций имеет место взаимнооднозначное соответствие. В этом случае разбиение можно рассматривать как допустимое решение задачи распределения точек по станциям. Оптимальному решению будет соответствовать такой вариант разбиения, при котором сумма расстояний между точками в множествах El будет минимальной. Такое разбиение будем именовать компактным, а подмножества El компактного разбиения - компактными. Заметим также, что введенное условие компактности эквивалентно условию, в котором сумма

расстояний между точками в каждом множестве Ер, заменена на сумму расстояний от топологического центра множества до его точек. Нетрудно видеть, что полученное компактное разбиение дает решение обеих задач. В центрах компактных множеств Ер устанавливаются соответствующие станции, к которым подключаются точки множеств Ер. К сожалению, алгоритмов для получения компактного разбиения нет, поэтому возникает необходимость разработки приближенного метода решения данной задачи.

Для разбиения множества Е на подмножества Е1 предлагается два варианта алгоритма. Оба варианта являются эвристическими алгоритмами последовательного типа. В первом из них разбиение множества Е на подмножества Ер осуществляется с учетом типов терминальных точек. Формирование очередного множества Ер производится с учетом вектора подключения выбранного вида станции. В результате работы алгоритма за каждым множеством Ер закрепляется станция определенного вида, то есть операции формирования множеств Ер и выбора вида станции совмещаются.

Второй вариант алгоритма предварительно разбивает множество Е на подмножества Ер без учета типов терминальных точек, а затем для множеств Ер подбираются подходящие виды станций.

Первый вариант алгоритма. Формирование первого множества Ер начинается с выбора точки е'1 еЕ максимально удаленной от точек множества Е\ер, то есть с максимальной суммой расстояний от егГ{ до

точек е1еЕ\егР1, тах ё(е,егр), где й(е,егг) - рас-

ереЕ е,еЕ\ер ’ '

стояние от точки ееЕ\е'11 до точки егр>1 на топологическом поле.

Место размещения точки егр именуется полюсом и обозначаетсяр;. Полюс р; принимается в качестве временного места размещения станции одного из видов 5, для которых х^0, а вектор подключения А, имеет компоненту яга^0. Условие ага^0 обеспечивает возможность подключения точки егГ{ г-го типа к выбранной станции *-го вида.

Выбор вида станции производится на основе формирования множества точек Ер и его оценки. В множество Е^ включаются близлежащие к полюсу точки множества Е\еРр,, которые наряду с точкой еРь могут быть подключены к станции в соответствии с ее вектором подключения А,. Число точек в множе-

Я

стве Ер или его мощность Ер| = Xа„ • Качество

г=1

множества Е8Ь оценивается суммой расстояний й(д,р;) от точек; деЕ^ до полюса р; и равно величине

= х ё(д, р1). Станция *-го вида с множеством

ЧеЕР1

Е*,, для которой отношение Ь/Е^1 является минимальным, принимается в качестве временно размещенной в полюсе р;. Величина х* уменьшается на 1, и из множества Е исключается подмножество Е*..

По аналогии с множеством Ер^ на множестве Е\Ер формируется множество Ер1 и в полюсе р2 временно размещается вторая станция. Процесс разбиения множества Е на подмножества Ер продолжается до тех пор, пока для всех станций {х*} не будут определены полюса и сформированы множества Ер.

Второй вариант алгоритма. В этом варианте множества Ер формируются без учета типов терминальных точек. Мощность множеств Ер принимается одинаковой и определяется величиной |Е|/Р. Формирование множества Ер по аналогии с первым вариантом алгоритма начинается с места расположения полюса р1. Далее к полюсу р1 присоединяются ближайшие точки так, чтобы их количество не превышало мощность множества Ер. Затем на множестве Е\Ер формируется множество Ер,, и этот процесс продолжается до полного разбиения множества Е. Можно предположить, что сформулированные таким образом множества Ер в сравнении с множествами Ер, полученными по первому варианту алгоритма, будут топологически более компактными. Вместе с тем множества Ер, сформированные по данному алгоритму, по составу и типам точек могут существенно отличаться от состава точек векторов подключения станций. Поэтому возникает необходимость в распределении станций по множествам Ер так, чтобы составы точек были максимально согласованы.

С этой целью для каждого множества Ер формируется вектор Ар={ар}, компоненты ар которого равны числу точек г-го типа в множестве Ер. Станции, вошедшие в решение Х*={х*}, пронумеруем порядковыми номерами V = 1,2,...,V, V = Гх*. Каждой у-й

í=l

станции д-го вида поставим в соответствие вектор подключения АГ=АУ Векторы Ау и Ар отнормируем относительно максимальных элементов. Полученные векторы АУ ={а^} и Ар ={а^}, где а'г=ап/шахат а'р=агр/тахагр, можно сопоставлять на соответствие мест подключения точек разного типа в станциях и состава точек в множествах Ер. Соответствие векторов А'у и Ар следует оценить величиной 0^,

й = Г |а’ - а' I, (4)

ур / . \ т гр у V '

г =1

которая суммирует модули разностей соответствующих компонентов сопоставляемых векторов. Величины оформим в виде матрицы ^=||Сур||, V=P, которую назовем матрицей отклонений векторов. Строки матрицы соответствуют станциям у, а столбцы - множествам Ер. Элементы указывают на степень предпочтения размещения у-ой станции в точках множества Ер. Чем меньше значение элемента сур, тем выше приоритет.

Для установления наилучшего соответствия между станциями, представленными векторами Ау, у=1,2,...,^, и множествами Ер, представленными векторами Ар, решим задачу назначения станций на множества так, чтобы минимизировать сумму отклонений векторов,

V P

TTdwxw ^ min (5)

v=1 p=1

±xvp = 1, v = 1,2,...,V, (6)

p=1 ' '

Z xvp =1, p = p. (7)

v=1

Здесь xvp=1, если станция v назначается на множество Ep, и xvp=0, в противном случае. Задача (5)-(7) является классической задачей о назначении и для ее решения имеются эффективные алгоритмы [2].

Сопоставляя между собой оба варианта алгоритма разбиения множества E на подмножества Ep, трудно отдать предпочтение какому либо из них. Первые эксперименты показали, что с ростом регулярности размещения на топологическом поле точек множеств E предпочтительнее оказывается второй вариант. Напротив, если точки множеств Er размещены нерегулярно, то преимущество имеет первый вариант.

Место размещения станции в множестве Ер определяется либо в точке топологического поля, координаты которой вычисляются как координаты центра масс точек множества Ep, либо в точке множества Ep, соответствующей минимальной сумме расстояний от этой точки до всех других точек множества Ep.

Задача распределения терминальных точек

по станциям

Множества Ep не могут рассматриваться в качестве вариантов распределения точек на соответствующие станции. Причин здесь несколько. Если множества Ep сформированы вторым вариантом алгоритма, то несоответствие векторов Av и Ap, определяемое выражением (4), может быть значительным. При перемещении станций из полюсов множеств Ep в их центры также появляется возможность для оптимизации подключения точек к станциям. Заметим также, что оба варианта алгоритма являются приближенными и изначально не гарантируют получения наилучшего разбиения множества E на подмножества Ep. Поэтому решение задачи распределения терминальных точек по станциям позволяет «сгладить» недостатки предыдущего этапа определения мест размещения станций.

Множество терминальных точек E, которые необходимо распределить по станциям, состоит из подмножеств E, содержащих точки r-го типа. К каждой v-ой станции нужно подключить точки определенных типов и в допустимом количестве в соответствии с ее вектором подключения Av так, чтобы сумма расстояний от станций до подключенных к ним точкам была минимальной.

Нетрудно заметить, что при решении данной задачи точки r-го типа не могут претендовать на места подключения точек любого другого типа. Из этого следует, что задачу распределения точек по станциям можно решать отдельно для точек каждого подмножества E. Общее решение для множества E, полученное в результате объединения оптимальных решений задач для подмножеств E,, является оптимальным. Данный вывод имеет большое значение, так как дает возможность существенно упростить задачу и сократить ее размерность. Ниже предлагается формализованная постановка задачи распределения точек некоторого подмножества E .

Будем полагать, что для каждой v-ой станции, размещенной на топологическом поле в точке ev, известны координаты (xv,yv) ее месторасположения. Известны также координаты (x,y) точек e^E,, /=1,2,...,и„ п, — число точек в подмножестве E,. Расстояние между точками ev и ei обозначим величиной c4i и сформируем матрицу расстояний C=||cJKxn,,

c„= [(x - x )2 + (y - у M

Введем переменную xvi, xvi=1, если точка подключается к станции, размещенной в точке ev, xvi=0 в противном случае.

В принятых обозначениях задачу распределения точек множества E, можно записать в виде:

Задача Т:

V Пг

ZZc^ixvi ^ min, (8)

v=1 i=1

Пг

Z ^ = arv , v = 1,2,..., V, (9)

i=1

V

Z xvi = 1, i = 1,2,..., nr (10)

v=1

Здесь av — ,-ая компонента вектора подключения v-ой станции. Предполагается также, что вы-

V

полняется условие Z av = nr. Выполнение усло-

v= 1

вия (9) обеспечивает подключение точек к станциям согласно их векторов подключения. Условие (10) требует подключение каждой точки к одной из выбранных станций. Задачу (8)—(10) будем именовать задачей T. Задача Tотносится к классу транспортных задач линейного программирования и может быть решена одним из известных и эффективных алгоритмов [3].

Распределение терминальных точек по станциям, полученное после решения задачи T, нельзя признать оптимальным, так как непосредственно связанная с ней задача определения мест размещения станций на топологическом поле была решена с помощью приближенного алгоритма. Напомним, что оптимальные места размещения станций соответствуют центрам компактных множеств. Так как множества Et не являются компактными, то разме-

щение станций в центрах этих множеств не является оптимальным. Вместе с тем решение задачи Т относительно станций, размещенных в центрах множеств Ер может привести к двум результатам. В первом из них распределение точек по станциям соответствует исходному разбиению множества Е на подмножества Ег То есть на каждую станцию, размещенную в центре множества Ер, распределяются точки того же множества.

Второй результат соответствует ситуации, когда распределение точек по станциям не совпадают с разбиением множества Е на подмножества Ер. Новые подмножества, обозначим их как Е'р, очевидно соответствуют более компактному разбиению, так как значение целевой функции (8) в задаче Т для множеств Ер будет меньше, чем значение, подсчитанное для множеств Ер. Из этого следует, что процедуру переноса станций в множествах Ер и решения задачи Т можно повторить, в надежде получить более компактное разбиение с подмножествами Е". Данную процедуру следует повторять до тех пор, пока подмножества очередного разбиения не совпадут с подмножествами предыдущего разбиения. Это будет означать, что получено локальное компактное разбиение, качество которого зависит от исходного размещения станций.

Анализ качества решений по размещению станций

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

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

Пусть на топологическом поле множество М с точками одного типа разбито на компактные подмножества М, равной мощности с суммарной оценкой компактности Ц. Разместим в множествах М.. по одной станции, способной подключить ровно М. точек. Решив задачу Т, распределим оптимальным образом точки множества М по станциям. Можно предположить, что независимо от того, в какие точки множеств М. будут размещены станции, в результате применения итерационной процедуры получения локального компактного разбиения на каждую .-ую станцию в конечном итоге распределятся точки множества М.. Несмотря на то, что доказать это утверждение не представляется возможным, имеется ряд доводов в пользу данной гипотезы.

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

этом случае равна Ьш. При решении задачи Т для принятого размещения станций получим значение целевой функции Ь',Ь<Ь'<Ьш. Если Ь'<Ьш, то это означает, что точки множеств М. перераспределились и в сравнении с множествами М. образовали менее компактные множества М*.

Процедуру перехода от компактных множеств М! к менее компактным М* можно рассматривать как обратную по отношению к ранее изложенной процедуре перехода от множеств Ер к более компактным множествам Е'р. Можно предположить, что обратная процедура, также как и прямая, приводит к некоторому устойчивому разбиению. Таким разбиением, в частности, может быть и исходный вариант разбиения. Применение по отношению к нему прямой процедуры совсем не обязательно приведет к компактному разбиению. Однако, если при исходном или очередном разбиении, полученном в результате решения задачи Т, станции будут размещены в каждом из компактных множеств, то весьма вероятно, что такое разбиение находится на траектории спуска к компактному разбиению. Подтвердить или опровергнуть данное предположение, по-видимому, возможно лишь на уровне экспериментов. Получить компактное разбиение даже для экспериментальных целей нет возможности. Поэтому приходится иметь дело с локальными компактными разбиениями.

Первые эксперименты показали, что к одному локальному компактному разбиению сходятся многие исходные варианты разбиений. При этом даже значительный разброс в оценках компактности исходных вариантов разбиения после решения задачи Т быстро «сглаживается». Замечено также, что подобрать исходные варианты разбиения для получения разных локальных компактных разбиений достаточно трудно. Таким образом, оценки разных локальных компактных разбиений имеют небольшой разброс значений.

Изложенные выше соображения дают основания полагать, что качество решения рассматривае-

СПИСОК ЛИТЕРАТУРЫ

1. Погребной В.К. Покрытие схем вычислительных устройств

блоками унифицированного набора // Известия Томского политехнического института. - 1970. - Т. 211. - С. 81-87.

мой задачи не столь критично к исходным вариантам размещения станций на топологическом поле. Желательно, чтобы в полученном варианте размещения каждое компактное множество содержало по одной станции. В связи с этим не так важно в какой точке компактного множества будет размещена станция, так как после решения задачи Т и получения множеств М. станции перемещаются в центральные точки этих множеств, и оценки компактности «сглаживаются».

Заключение

Основные процедуры по проектированию топологии многопроцессорной вычислительной системы удалось сформулировать в классе задач линейного математического программирования. Все предложенные задачи: покрытия при определении числа станций, назначений при определении мест их размещения, транспортная - при распределении терминальных точек по станциям, имеют эффективные алгоритмы решения. Это обстоятельство приобретает особо важное значение при использовании итерационной процедуры перехода от исходного разбиения точек к локальному компактному разбиению, а также при использовании обратной процедуры для генерации и поиска нового исходного варианта разбиения, способного привести к другому компактному разбиению с лучшей оценкой.

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

2. Кристофидес Н. Теория графов. Алгоритмический подход. -

М.: Мир, 1978. - 432 с.

3. Дегтярев Ю.И. Методы оптимизации. - М.: Советское радио,

1980. - 272 с.

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