Пупков К.А., Коньков В.Г. - Интеллектуальные исследования (Современнаяя теория управления) (1072100), страница 27
Текст из файла (страница 27)
Система уравнений (162) принимает вид:
.(163)
Из уравнения для посредством перебора находится та вычислительная загрузка (и связанная с ней бинарная переменная), которая при добавлении к уравнению, содержащему максимальное значение дополнительной переменной x(n+1)m+n (то есть к уравнению, имеющему минимальную вычислительную загрузку), обеспечивает максимальное уменьшение показателя .
После переноса в k-ое уравнение найденной вычислительной загрузки происходит приведение полученной системы уравнений к виду (163). Далее опять повторяется процесс поиска перемещаемой вычислительной загрузки и так далее до нахождения . Останов алгоритма происходит по некоторому условию, связанному с анализом значений дополнительных переменных.
Учет коммуникационной загрузки увеличивает существенно сложность расчетов.
Если характеризовать процессор, выделенный под некоторую подзадачу: производительностью р (Мфлопс) и скоростью передачи данных по линку s (бит/с), - а саму подзадачу: вычислительной сложностью с (количество операций) и объемом передаваемых данных v (бит), - то тогда можно ввести сложное отношение
где - определяет свойства процессора с линком,
- определяет свойства подзадачи, wl - вычислительная загрузка процессора (сек), cl - коммуникационная загрузка процессора (сек).
Данное отношение в форме
(164)
будем рассматривать как коэффициент согласования процессора с подзадачей или как условие согласования вычислительной и коммуникационной загрузок выбранного процессора. Величины wl и cl оцениваются по результатам простейших экспериментов.
Представляет интерес использовать условие согласования (164) для построения алгоритма распределения. В этом случае совокупность уравнений ограничения:
,
последняя группа m неравенств определяет условие согласования загрузок.
Как видно, изложенный подход балансировки загрузки транспьютерной сети на основе симплекс-метода обладает рядом особенностей: непосредственно в критерии учитывается согласование 2-х видов загрузок для каждого транспьютера сети; адаптация критерия на условия реального применения выбором коэффициентов согласования ; ускорением общего времени нахождения решения, благодаря формированию определенного набора бинарных базовых переменных.
В связи с тем, что основная математическая платформа MATLAB-SIMULINK представляет собой приложение WINDOWS, то для обеспечения работы в единой системной среде и для быстрого перехода от Программно-Аппаратного Комплекса в среду разработки (SIMULINK) интерфейс данной СТР выполнен в виде стандартного приложения WINDOWS.
Данные средства обеспечивают интерактивный диалог СТР с разработчиком (пользователем). С помощью них разработчик обрабатывает существующие описания, а также может вводить новые описания с последующей их параллельной обработкой.
Через интерфейс пользователя осуществляется манипуляция основными функциями СТР. В зависимости от вида реализации: одно-транспьютерная или мультитранспьютерная, который задается пользователем, запускаются различные схемы преобразования внутреннего представления. Вне зависимости от вида реализации происходит автоматическое, при запуске, тестирование транспьютерной платы для получения информации о структуре сети и установленных процессорах. В случае одно-транспьютерной реализации происходит однозначная трансформация исходной схемы в эквивалентную параллельную программу, которая компилируется и погружается на выполнение. При мультипроцессорном варианте осуществляется обработка внутреннего описания на предмет выделения процессов, после чего, на основании информации о сети, запускается алгоритм балансировки. Результаты его работы являются отправными для генерации параллельной программы для сети, которая далее генерируется и погружается на сеть.
Через средства ввода и отображения, осуществляется визуализация работы параллельной программы. Предоставляется возможность следить за интересующим параметром состояния работающей модели, а также изменять любой параметр системы в процессе функционирования.
В процессе работы с СТР пользователю, как понятно из рис.53, необходимо иметь файлы внутреннего представления, а дальнейший ход функционирования задается в зависимости от требуемой реализации.
На стадии одно-транспьютерной реализации необходимым для получения результата является D-файл. Его использует программа преобразования блоков и подстановки, генерирующая текст параллельной программы на языке OCCAM. Далее, с использованием технологических средств параллельного программирования, эта программа компилируется в исполняемый код, готовый к погружению на транспьютер. После проверки правильности и корректности функционирования схемы, на одном транспьютере можно приступать к мультитранспьютерной реализации.
При создании сетевого варианта (мультипроцессорной реализации) порядок работы несколько отличен. Важным компонентом функционирования СТР на этой стадии является База данных времен блоков, сформированная предварительно на стадии создания Библиотеки параллельных алгоритмов. С каждым блоком проводится серия экспериментов по заранее спроектированной схеме с целью получения времени его работы на различных вычислительных средствах. Результаты экспериментирования обрабатываются, обобщаются и заносятся в таблицу. Программа, извлекающая информацию из этой таблицы, позволяет рассчитывать времена работы процессов, на которые разбивается исходная модель для решения задачи балансировки. Задача балансировки, для которой входными данными являются информация о сети и данные о процессах (TRM-файл), оптимизирует распределение процессов по процессорам на основании выбранного критерия. После получения решения, результаты выводятся пользователю, и, при подтверждении с его стороны, осуществляется генерация текста программы для многопроцессорного варианта, которая далее может быть скомпилирована в исполняемый код и погружена на сеть.
Вся работа, проводимая на стадии той или иной реализации, визуализируется средствами интерфейса в том или ином виде. Не все части СТР могут быть автоматизированы, поэтому интерфейс выполняет еще и функцию контроля за происходящими преобразованиями исходной модели. Например, пользователю предоставляется возможность задания начального распределения процессов по процессорам при решении задачи балансировки, просмотра и редактирования текста параллельных программ и так далее.
Частью интерфейса являются средства ввода и отображения, разработанные на языке параллельного программирования и являющиеся частью библиотеки параллельных алгоритмов. Они могут быть использованы независимо от средств интерфейса СТР. Основным их назначением служит визуализация работы погруженной на сеть модели (вывод на экран и, если надо, в файл интересующего параметра) и реализация системы изменения параметров, позволяющей изменение любого параметра блока в модели. При реализации подобных средств интерфейса существуют некоторые сложности. Они обусловлены ограничениями, накладываемыми средствами работы с транспьютерной платой.
Заключение.
Нет сомнений, что распределенная параллельная обработка получает все более и более широкое распространение, так как может адаптироваться на широкий класс алгоритмов. Основные сдерживающим фактором выступает сложность и трудоемкость получения параллельных реализаций.
Однако отчетливо просматривается путь, позволяющий выполнить сквозное проектирование некоторого алгоритма обработки, предназначенного для параллельной работы. Это - создание программно-аппаратного комплекса, в составе которого возможно выполнить предварительный синтез и тщательное исследование алгоритма обработки (закона управления), используя для этого универсальные математические алгоритмы (УМП), и выполнить генерацию обработанного математического описания в программную реализацию на языке параллельного программирования.
В настоящий момент времени существует соответствующие программно-аппаратные средства, которые принципиально позволяют создать указанный комплекс.
В данной работе для класса описания в обыкновенных алгебраических дифференциальных и разностных уравнениях показана осуществимость подобного комплекса, то есть практически показаны все особенности его создания.
Работа комплекса проверена на ряде задач моделирования систем управления.
Предполагается дальнейшее развитие исследований и разработок в данном направлении.Структурная схема функционирования комплекса
Рис. 56
Рис. 57
-
Логико-динамические модели и программно-технические средства интеллектуальной системы управления дискретными производственными процессами
Современные автоматизированные производства являются примером сложных комплексов дискретных распределенных объектов управления, включающих основное обрабатывающее и вспомогательное технологическое оборудование, средства транспортировки и складирования, а также рабочие места персонала. Все эти объекты связаны между собой и функционируют последовательно - параллельно во времени. В совокупности они образуют сложную распределенную дискретно-непрерывную техническую и программно-информационную среду, требующую от системы управления решения достаточно большого набора разнообразных логико-вычислительных задач, связанных со сбором и обработкой значительного объема информации, ее классификацией, принятием решений с использованием сложноструктурированных данных и планированием действий в многокомпонентной среде. В этих условиях одним из многообещающих путей развития устройств управления для производственных сред является построение их как интеллектуальных систем, позволяющих наиболее рационально реализовать необходимые функции обработки сложной информации на основе моделей знаний и логических методов.
Проблемная среда интеллектуальных систем управления.
Основные предпосылки целесообразности построения систем управления дискретными автоматизированными производствами как интеллектуальных систем состоят в следующем:
-
условия функционирования систем характеризуются многообразием данных и качественных характеристик;
-
область функционирования систем, как правило, плохо формализуема;
-
компоненты распределенных объектов, с которыми работает система, требуют для описания своего состава, структуры и состояния создания сложноорганизованной информационной модели;
-
данные о текущем состоянии объектов влияют на процесс выработки реакций системы;
-
процессы рассматриваемого класса имеют скорее логический, нежели вычислительный характер;
-
логическая структура алгоритмов работы с внешними объектами сложна и в основном представляется моделями, базирующимися на правилах и законах логической обработки неоднородно интерпретируемых данных.
В рассматриваемой проблемной среде для интеллектуальных систем могут быть выделены следующие классы прикладных задач: мониторинга, контроля, диагностики, принятия решений, управления. Рассмотрим более подробно каждый из этих классов.
Задачи мониторинга. Имеется комплекс распределенных производственных объектов, взаимодействующих друг с другом и воспроизводящих определенный процесс. Требуется создать систему, собирающую в реальном времени необходимые данные о процессе и отображающую их в наглядной и удобной для пользователя форме. При нормальном ходе процессе необходимо следить только за основными параметрами, но при выполнении определенных условий или возникновении непредвиденных ситуаций система должна сигнализировать о них персоналу, а также формировать специальные дополнительные отчетно-справочные данные, или запрашивать у объектов дополнительную информацию, или тестировать объекты. Формальная схема работы такой системы может быть задана следующими правилами:
(165)
(166)
где S - динамическая информационная модель состояния наблюдаемых объектов; Qi(S), Fj(S) - описания состояний информационной модели S; - подмножество информационных элементов модели S; Zi(Si) - функция означивания (присвоения знаков) информационных элементов Si в S; Pj(S) - функция преобразования состояния модели S.
Из формулы (165) следует, что в состоянии, удовлетворяющем логическому выражению Qi(S), должны быть дополнительно означены определенные информационные элементы Si модели S. Считаем, что для каждого элемента известна функция U(q), возвращающая в S значение q. Эта функция может содержать любые необходимые операции над S, операции вывода команд, а также запросы или тесты, обеспечивающие получение необходимых данных для означивания q.
Из формулы (166), в свою очередь, следует, что в состоянии, удовлетворяющем Fj(S), можно выполнить преобразование Pj содержимого S, отражающее определенное логическое заключение о ходе наблюдаемого процесса.
Задачи контроля. Имеется система мониторинга, собирающая данные о состоянии комплекса дискретных распределенных объектов. Задана целевая траектория T* наблюдаемого комплекса объектов в пространстве состояний. В ходе работы комплекс воспроизводит определенную фактическую траекторию T, которая может отличаться от целевой. Требуется построить систему, обеспечивающую обнаружение отклонений фактической траектории T от идеальной целевой T* с передачей данных об этих отклонениях оператору или группе операторов.
Эта задача может быть сведена к решению более простых подзадач, когда траектория T* представляется единственной вершиной, описывающей определенную область в пространстве состояний. В общем случае такое описание может иметь вид предикатной формулы G(x), где x - набор определенных предметных переменных. Тогда обнаружение отклонения от заданной области заключается в опровержении формулы для текущих наблюдаемых значений x.