Параллельный алгоритм размещения на многопроцессорной вычислительной системе

Разработка и реализация проектных решений по создаваемой РКС и ее элементам должны проводиться в рамках сетевых архитектур OSI (Open Systems Interconnections) и ISDN (Integrated Services Digital Network), которые стали фактическими стандартами в государственном и международном масштабах. В противном случае весьма вероятна ситуация, когда созданная региональная РКС не будет стыковаться с РКС других регионов и национальной сетью (сетями).

З.Сервисный аспект.

Создаваемая РКС должна иметь очень широкие возможности с точки зрения предоставляемого сервиса. Например: информационно-справочное обслуживание, обеспечение доступа к удаленным базам данных, возможность сбора и накопления различной региональной информации (экологической, экономической, статистической, социальной и т.д.), предоставление программного и математического обеспечения, пакетов для подготовки публикаций и т.д.

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

УДК 681.3:621.3.Ь49

В.А.Калашников, И. Л.Трунов, С.А.Ховансков Параллельный алгоритм размещения на многопроцессорной вычислительной системе

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

Исходными данными при решении задач размещения являются монтажная плоскость ( плата, кристалл, панель и т.д. ), число элементов и граф схемы соединений элементов в = ( X, и ). На монтажную плоскость наносят координатную сетку и оси координат $ и I и таким образом представляют ее в виде графа вг.

Задача размещения сводится теперь к отображению заданного графа схемы в = ( X, и ) в координатную сетку таким образом, чтобы вершины множества X размещались в ее узлах в соответствии с выбранным критерием размещения [ 1 ].

Предлагается итерационный релаксационный алгоритм с использованием критерия • минимума суммарного нарушения гармонических расстояний [ 2, 3 ], который наиболее подходит к реализации на МВС благодаря хорошему распараллеливанию вычислений.

Для оценки удобства о-й позиции для вершины графа введем понятие нарушения гармонических состояний

U - L

i=l и О У U 0.

где L¿- нарушение гармонических расстояний по j-й вершине, dy - расстояние между узлами i и j графа Gr, гу - число кратных ребер между вершинами xi и xj, fy - гармоническое расстояние между вершинами xi и xj.

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

Суть алгоритма заключается в следующем. Известно, что для уменьшения суммарной длины соединений элементы, связанные друг с другом, нужно размещать как можно ближе друг к другу. Идеальный вариант, когда расстояние между всеми связанными вершинами равно 1. Но практически это неосуществимо. Поэтому некоторые связанные друг с другом вершины приходится размещать неоптимальным способом. В связи с этим предлагается поставить в соответствие количеству связей между вершинами rij некоторое число из последовательности Фибоначчи [ 4 ] fy следующим образом.

Ru 0 12 3.. п

fu Ф

^ назовем гармоническим расстоянием, то есть вершины, связанные гу связями, должны находиться друг от друга на расстоянии не более Гу.

Далее ход рассуждений таков. Из множества вершин графа, рассположенного в сетке, выбирается вершина Xj с максимальным Ь| и производится его перестановка с другой вершиной ч целью минимизации суммарного нарушения гармонических расстояний п

Ь = Л, Ь1. Процесс продолжается до тех пор, пока Ь не будет равно 0 или за

Я

определенное количество итераций не получено уменьшение суммарного нарушения гармонических расстояний.

Приведем описание алгоритма. п.1. Сформировать первоначальное размещение. п.2. Выбрать ряд Фибоначчи.

п.З. Вычислить нарушение гармонических расстояний по каждой вершине и суммарное нарушение гармонических расстояний. п.4. Определить вершину с максимальным нарушением гармонических расстояний. п.5. Вычислить силовой вектор и целевую точку для этой вершины. п.6. Осуществить перестановку вершин.

п.7. Имеется ли какое-нибудь уменьшение скммарного нарушения гармонических расстояний?

Если - да - сохранить новое размещение и перейти к п.З.

Если - нет • перейти к п.З. п.8. Сохранить старое размещение и перейти к следующей вершине с меньшим нарушением гармонических расстояний. п.9. Все ли вершины просмотрены?

Если - да - перейти к п. 10.

Если - нет - перейти к п.5. п. 10. Конец.

В качестве МВС выбран макрокомпьютер с программируемой архитектурой. За счет программируемости архитектуры компьютер может быть сориентирован на решение задач с любым видом параллелизма (I, II и III рода ). В соответствии с

этим, при программировании макрокомпьютера применяют три способа распараллеливания:

1. на уровне объектов;

2. на уровне ветвей;

3. на уровне операторов.

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

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

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

Таким образом, пользователь сам определяет ( при программировании архитектуры ) ориентацию макрокомпьютера на тот или иной уровень параллелизма.

Элементной базой для построения многопроцессорных макрокомпьютеров с программируемой архитектурой является макропроцессор. Макропроцессор ( МАП ) процессорная секция с программируемой структурой, реализующая базовые наборы крупных математических операций ( макроопераций ) структурными

( аппаратными ) методами; предназначена для построения процессорных полей макрокомпьютера с программируемой архитектурой.

Макропроцессор включает шестнадцать элементарных процессоров (ЭП) аддитивного ЭП- £ и мультипликативного ЭП-П типов. Для ЭП-2 базовой операцией является суммирование, для ЭП-П • умножение. Кроме того, имеются четыре ЭП-Р, выполняющие операции, связанные с преобразованием формата данных. Эти операции относятся к операциям логического характера. ЭП-П, ЭП-Е также выполняют широкий спектр логических операций, используемых, например, при структурной реализации условных переходов, символьной обработки и др.

Что же касается особенностей прикладного программирования на макрокомпьютере, то можно сказать следующее:

1) структура программы представляет собой граф, в вершинах которого стоят крупные математические операторы, запрограммированные априори на основе базового набора макроопераций, определяющих проблемно-ориентированную систему команд макрокомпьютера (проблемно-ориентированную архитектуру) для того или иного класса задач;

2) все макрооперации реализуются структурно ( аппаратно ) и в свою очередь определяются в виде графа, множество вершин которого соответствуют множеству элементарных математических операций, параллельно выполняемых на макрокомпьютере множеством элементарных процессоров.

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

При процедурной реализации параллелизма распараллеливание идет по элементам структуры данных. Множеству элементов данных ставится в соответствие множество ЭП, в каждом из которых последовательно реализуются

1Т1ауьуишгы-й^е^иссииучсаи кимф^ренций *У1НТбДгектуальн^^Яп^7У

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

ЛИТЕРАТУРА

1. Морозов К.К., Одинокое В.Г., Курейчик В.М. Автоматизированное проектирование конструкций радиоэлектронной аппаратуры. М.: Радио и связь, 1983,280 с.

2. Трунов И.Л. Об одном подходе к задаче размещения //Интеллектуальные САПР СБИС: теэ.докл. - Ереван, 1988, с. 33.

3. Трунов И.Л. Алгоритм размещения элементов с использованием последовательности Фибоначи: тез.докл. междунар. № 7 - т.конф. - Киев, 1989 г., с. 149.

4. Стахов А.П. Коды золотой пропорции. М.: Радио и связь, 1984 г., 152 с.

5. Принципы создания универсального сверхпроизводительного супермакронейрокомпьютера с программируемой самоорганизующейся архитектурой и элементами искуственного интеллекта. ( Отчет о НИР ) / НИИ МВС при ТРТИ. - N ГР 01.9110055147 - Таганрог, 1991, кн. 3.

УДК 658.512

Лебедев Б.К.

Однослойная трассировка в приканальной надыпееяной области.

Введение.

Канальная трассировка одна из важнейших задач, решаемых при проектировании СБИС.

Разработано большое количество канальных трассировщиков и некоторые из них позволяют получать решения, близкие к оптимальным. Тем не менее, по-прежнему актуальной является проблема минимизации области канальной трассировки. С этой целью предлагается использовать области, примыкающие к каналу сверху и снизу с единственным трассировочным слоем, расположенным над ячейками (оуег-1Ие-се11)(рис. 1). В этом случае некоторые из соединений или их фрагментов могут быть направлены в надъячеечную область (НЯО), что приводит к уменьшению числа магистралей, используемых в канале.

Задача «надъячеечного» (оуег-^е-сеИ) трассировщика построение максимального планарного эскиза топологии в надъячеечной области с целью минимизации плотности канала[1,2].