Пупков К.А., Коньков В.Г. Интеллектуальные системы (1-е изд., 2001) (1245264), страница 30
Текст из файла (страница 30)
Причемдопускается автономная работа СТР, то есть без использования математическойплатформы (MATLAB-SIMULINK).Средством сопряжения первой и второй частей является программный модуль,выполняющий функции по предварительной обработке и преобразованиюисходного описания модели к виду, на котором в последующем основываетсяполучение описания на параллельном языке.Одной из сложных и важных является задача конфигурирования илираспределения параллельных процессов - компонент алгоритмов натранспьютерную сеть.Выбранное распределение существенно влияет на характеристики всей системыуправления.
Плохое распределение может дать время обработки, сравнимое современем обработки для однопроцессорной системы; в то время, как хорошеераспределение даст существенное уменьшение.В составе комплекса проектировщик обладает возможностью выполнитьсравнительный анализ нескольких вариантов распределения, отличающихсястепенью «зернистости» компонент алгоритма обработки или функционаломкачества распределения и тому подобное.1.
Среда синтеза и исследования - универсальная математическаяплатформа.Основное свойство данной среды - обеспечить возможность эффективнойработы исследователя - проектировщика с разнообразными формамиматематического описания сигналов и частей системы управления, различнымиспособами обработки описаний (например, набором методов интегрирования) испособами решения типовых математических задач; составления собственныхвариантов решения и тому подобное.Среда представляет собой проблемно-ориентированную математическуюплатформу (УПМ), поддерживающую многообразные формы взаимодействия сисследователем - проектировщиком в процессе решения.В дальнейшем изложение ведется применительно к математической платформеMATLAB-SIMULINK.101Одним из наиболее распространенных способов описания объектов и системуправления - обыкновенные алгебраические дифференциальные и разностныеуравнения (ОАДРУ).
Этот класс описания поддерживается имеющимися всоставе MATLAB графическим пакетом SIMULINK. Именно по этой причинеданный класс описания и представляет основной интерес.Естественно, что данный класс не является единственным для реальных системуправления. И УМП, естественно, допускает выполнение других способовописания, в том числе и алгоритмов. Однако, комбинация различныхматематических структур существенно усложняет последующую манипуляциюс ними.Графические возможности пакета соответствуют вводу и представлению в видеблок-схемы, составленной из ограниченного набора типовых звеньев. Каждоезвено характеризуется функциональным преобразованием и параметрами.
Хотяпри проведении числовых исследований допустимо использовать всевозможности MATLAB-SIMULINK, последующий переход к реализации связанс рядом ограничений. Не снижая возможности графического пакета,используется только подмножество имеющихся звеньев с небольшимдобавлением элементарных звеньев 1-го и 2-го порядков. Все звенья выполняютотображение RnR1, то есть все звенья имеют только один выход. Такой видотображения позволяет широко использовать аналитические решения длядинамических звеньев, проявляет детальную структуру системы с выделениемвсего множества переменных, формализует процессы обработки и визуализациии так далее.
Задание параметров звеньев происходит в числовом виде.2. Препроцессор параллельного представления (ППП).ППП предназначен для формирования файлов внутреннего представления извыходного описания SIMULINK (М-файла).Действительно, результат работы исследовательской части выдается втекстовом виде, принятом в MATLAB (М-файл), где отражается полнаяструктура отработанного закона управления, то есть состав модулей, ихфункциональное назначение (на уровне названия) и связи между ними.Препроцессор, обрабатывая MATLAB-текст (содержание которого являетсяисходными данными для ППП), выполняет переход к внутреннемупредставлению.Внутреннее представление - это представление всех принятых висследовательской части способов описания системы и законов управления вопределенномструктурированномвиде.Внутреннеепредставлениеформируется в виде двух рабочих файлов (D-файла и TRM-файла).
D-файлсодержит всю введенную информацию и допускает возможность работы с нимсо стороны других программных частей. Так, можно извлечь характеристикиотдельных модулей: название модуля, количество входов и выходов, и такдалее.Однако основным является то, что принятая структура данных в D-файлепозволяет производить целенаправленную обработку исходной блок-схемысистемы управления. Обработка блок-схемы означает: Проверку принадлежности каждого блока к варианту «много входов один выход» (исключение составляет только один блок - блок разветвлениясигнала). Проверку наличия алгебраических контуров (АК) - таких контуров всхеме системы, которые не допускают явного разрешения выходаотносительно входа. Проверку существования блоков, не входящих в библиотеку поддержкиразработки.
(Это связано с тем, что переход к параллельномупредставлению осуществляется заменой исходного блока соответствующейпараллельной программой из уже готовой библиотеки). Фактически этосоответствует проверке правильности синтаксиса исходного описания.После указанных проверок происходит переход к формированию TRMфайла.
TRM-файл содержит описание исходных данных в виде определеннойграфовой структуры (ациклический граф). Для исходных данных (блок-схемасистемы в классе ОАДРУ) TRM-файл содержит совокупность правых частейдифференциальных и разностных уравнений 1-го порядка. То есть TRM-файлсодержит граф, имеющий параллельные компоненты, число которыхсоответствует числу уравнений 1-го прядка.3.
Среда транспьютерной реализации.Данная часть (СТР) представляет собой программную оболочку, работающуюнад множеством своих программно-аппаратных средств следующего типа: Транспьютерная плата. Она несет используемые для реализациитранспьютеры разных типов или выполняет линковую связь с реальнойтранспьютерной сетью. Транслятор языка параллельного программирования. Наиболеераспространенная версия языка OCCAM2. Конвертор исходного описания Конфигуратор Загрузчики задач Оцениватель производительности транспьютерных программ и так далее.102Как следует из приведенного состава СТР, она содержит все необходимыепрограммно-аппаратные средства и элементы для тщательной обработкипараллельной программы.СТР получает исходные данные от ППП в виде файлов внутреннегопредставления.В виду того, что каждому модулю в блочном описании модели соответствуетуже готовый алгоритм из библиотеки, написанной на языке параллельногопрограммирования, то полученное внутреннее представление достаточнопросто трансформируется в параллельную программу.
Конвертор исходногоописания извлекает данные из файла внутреннего представления о блоках,связях между ними и значения внутренних параметров. Затем происходитидентификация каждого блока на предмет нахождения его аналога в библиотекепараллельных алгоритмов. В случае полного соответствия создается файл наязыке параллельного программирования (OCC или PGM-файл) с тем же именем,что у файла внутреннего представления.
После того как вышеуказанные файлысгенерированы, они должны быть оттранслированы в исполняемый код(транспьютерная реализация: B8H или BTL-файл). Для этого последовательновызываются компилятор, линковщик, коллектор (в данном случае речь идет осредствах языка OCCAM). Если ни одна из этих программ не выдала ошибки, топоявляется исполняемый файл, готовый для загрузки и исполнения.После выполнения загрузки программы с помощью сервера на одинтранспьютер начинается процесс ее отработки и оценки производительности.Каждая транспьютерная программа характеризуется процессорным временем,временем передачи данных по линкам и так далее.Результаты оценки производительности обеспечивают исходные данные длярешения задачи конфигурирования, то есть распределения процессов и каналовпараллельной программы между процессорами и линками транспьютерной сети.Рассмотрим более подробно отдельные моменты.Переход от исходного описания в виде блок-схемы к параллельномупредставлению производится в ППП за счет подстановки в предварительноподготовленный вариант схемы готовых параллельных алгоритмов (блоков) избиблиотеки.Библиотека блоков строится на следующих положениях: Каждый блок выполняет некоторую элементарную функцию; Набор блоков элементарных функций определяется классомматематических описаний.
Для каждого класса выделяется свой набор. Каждый блок имеет много входов и один выход; Каждый блок имеет определенную структуру;Так как библиотека блоков выполняется на языке параллельногопрограммирования, то при подготовке такой библиотеки выбор языка один изважных вопросов.Эффективное применение параллельных структур обеспечивается только принадлежащем распределении процессов (задач) на отдельные процессоры сети.Это означает, что эффективность зависит от многих факторов: структуры транспьютерной сети и характеристик ее составляющих, числа процессов и их информационного взаимодействия, желаемых условий или показателей работы всей сети, в основе которыхлежит компромисс между вычислительной и коммуникационной видамизагрузок процессоров.Все отмеченные факторы выступают в качестве исходных данных при решениизадачи конфигурирования или распределения исходных процессов попроцессорам.
(Наряду с термином конфигурация иногда используют и терминбалансировка, подчеркивая этим получение определенного баланса междудвумя видами загрузок процессора).Большой объем исходных данных, и трудоемкость решения самой задачиконфигурирования при значительном числе исходных процессов требуютразработки как самих алгоритмов решения, обладающих высокимбыстродействием, так и программной поддержкой пользователя в процессеформирования исходных данных и последующего решения. Фактическивозникает потребность в создании специализированного программноаппаратного обеспечения для решения задачи конфигурирования.С помощью такого обеспечения вводятся и отображаются исходные данные посети и исходным распределяемым процессам, улучшается точность некоторыхисходных данных за счет предварительного экспериментирования на реальныхпроцессорах сети, формируются показатели (критерии) функционирования;выводятся и отображаются результаты и принимаются окончательные решенияпо конфигурированию.Решение включает следующие этапы: Ввод исходного математического описания взаимодействующихпроцессов (так для процессов в классе ОДУ - это набор уравнений 1-гопорядка, приведенный к определенному виду), который берется из средыописания.