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

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

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

ЛИТЕРАТУРА

1. Норенков И.П., Маничев В.Б. Основы теории и проектирования САПР. М.: Высш. школа, 1990.

2. Коротаева Л.Н., Сесекин А.Н., Ченцов А.Г. Об одной модификации метода динамического программирования в задаче последовательного сближения // Журнал вычислительной математики и математической физики. 1989. Т. 29. № 8. С. 1107-1113.

3. Буслаева Л.Т., Ченцов А.Г. О декомпозиции процесса последовательного выбора вариантов // Математическое моделирование. 1991. Т. 3. № 4. С. 103-113.

4. Коротаева Л.Н., Назаров Э.М., Ченцов А.Г. Об одной задаче о назначениях // Журнал вычислительной математики и математической физики. 1993. Т. 33. № 4. С. 483-494.

5. Коротаева Л.Н., Ченцов А.Г. Об одном обобщении задачи коммивояжёра “на узкие места” // Журнал вычислительной математики и математической физики. 1995. Т. 35. № 7. С. 1067-1076.

И.И. Левин, И.М. Пономарев, Р.В. Шахов, А.В. Шматок МНОГОПРОЦЕССОРНЫЕ РАБОЧИЕ СТАНЦИИ С

ПРОГРАММИРУЕМОЙ АРХИТЕКТУРОЙ - ЭФФЕКТИВНЫЙ ИНСТРУМЕНТ РЕШЕНИЯ СЛОЖНЫХ НАУЧНО-ТЕХНИЧЕСКИХ

ЗАДАЧ

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

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

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

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

Альтернативой является создание многопроцессорных рабочих станций с программируемой архитектурой, в которых используется принцип структурнопроцедурной организации вычислений. При структурно-процедурной организации алгоритмически сформулированная задача представляется в виде информационного графа, описывающего параллельную форму представления задачи. В дальнейшем информационный граф преобразуется в последовательнопараллельную форму, которая предполагает разделение задачи на структурную и процедурную компоненты. При этом структурная компонента реализуется в виде аппаратно реализуемых фрагментов вычислений - кадров. Процедурная компонента реализуется в виде программы, описывающей последовательность смены кадров. Для эффективного преобразования задачи в структурно-процедурную форму разработана методика, в соответствии с которой информационный граф задачи может быть преобразован в промежуточную функционально-регулярную форму. Функционально-регулярная форма позволяет перейти к кадровой форме представления задачи. При переводе задачи в кадровую форму создается структура данных, отображающая множество переменных, принадлежащих кадрам задачи, на множество адресов памяти МВС и формулируется система ограничений, позволяющая выбрать рациональные варианты размещения данных по критерию минимизации времени решения задачи. Полученная структура данных позволяет синтезировать функцию параллельного обращения (функция коммутации) и функцию последовательного обращения (функция адресации) в кадрах задачи. В дальнейшем эти функции используются для программирования процедур обращения к данным и после адаптации к системе команд МВС могут быть реализованы ее аппаратными средствами.

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

Конструктивно рабочая станция состоит из множества базовых модулей (БМ), соединенных между собой коммутационной системой. Все базовые модули через шину ввода-вывода ШВВ подключены к HOST-компьютеру, используемому в качестве системного интерфейса пользователя. В состав базового модуля рабочей станции входит макропроцессор (МАП), структурно реализующий крупные математические операции, два макрокоммутатора (К1, К2), а также распределенная память (РП). Макрокоммутаторы предназначены для организации межмодульных информационных обменов и организации параллельных процедур обращения к каналам распределенной памяти. Контроллер распределенной памяти (КРП) является активным устройством и организует процесс структурнопроцедурного решения задачи.

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

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

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

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

Публикация осуществлена при поддержке грантов РФФИ № 99-0790410, 00-1599014, 01-01-00898.

О.В. Катаев, Э.В. Мельник, И.В. Петручук,

Г.Л. Трунов, И.И. Левин, И.М. Пономарев

АППАРАТНО-ПРОГРАММНЫЙ КОМПЛЕКС ОБРАБОТКИ ДАННЫХ ЛЕТНЫХ ИСПЫТАНИЙ

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

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