Оптимизация параллельных программ с использованием математического аппарата сетей Петри - Маркова

высокопроизводительного оборудования.

Список литературы

1. Бобрышев Д.Н. Организация управления разработками новой техники. М.: Экономика, 1971. 167 с.

2. Зарубин В.С. Математическое моделирование в технике. М.: Изд-во МГТУ им. Н.Э.Баумана, 2001. 496 с.

3. Клайн Д.С. Подобие и приближенные методы. М.: Мир, 1968.

302 с.

4. Краснощеков П.С., Петров А.А. Принципы построения моделей. М.: Изд-во МГУ, 1983. 264 с.

E.V.Larkin, A.O.Osetrov, S.O.Osetrov

THE MODULE OF MOBILITY OF THE INDUSTRIAL ROBOT The mobility module allows to receive spatial moving of working body on sphere at increase of accuracy of positioning that allows to use it as the process equipment in the various industrial automated systems.

Key words: the module, system of co-ordinates, the robot, parameters, restrictions, similarity, mathematical program and hardware levels of designing, spatial co-ordinates.

Получено 20.11.12

УДК 004.415.52

А.Н. Ивутин, канд. техн. наук, доц.,

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

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

Ключевые слова: сети Петри-Маркова, параллельные вычислительные системы, оптимизация, время выполнения.

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

цессоров дальнейшее увеличение производительности возможно лишь за счет перехода к параллельным архитектурам: многоядерным, сетевым с различной конфигурацией и собственно параллельным ЭВМ (MIMD, SIMD, MISD). И если в области проектирования специализированных ЭВМ идеи параллелизма используются на практике более 50 лет, например, в компьютере CDC-6600 1964 года параллелизм в явном виде выражался в виде десяти независимых функциональных устройств, работавших одновременно, то для персональных компьютеров задача сокращения временной вычислительной сложности за счет параллелизма вышла на первые позиции относительно недавно.

Основные идеи параллельной обработки информации были высказаны более 50 лет назад академиком С.А. Лебедевым в выступлении на сессии Академии наук СССР, где уже тогда были высказаны идеи «параллельной работы нескольких машин».

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

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

К настоящему времени существует и достаточно успешно функционирует ряд систем автоматического и полуавтоматического распараллеливания последовательных программ. Системы типа OpenMP, DVM (разработка Института прикладной математики им. М.В.Келдыша) [1], mpC (разработка Института системного программирования РАН) [2] предлагают использование традиционных последовательных языков с включением в структуру программы специальных конструкций, управляющих параллельными процессами. При этом программист должен явно описывать параллельные области, а также отчасти самостоятельно отслеживать участки, где необходима синхронизация всех параллельных потоков. Механизмом распараллеливания управляет именно программист, что требует вмешательства в код программы, его модификацию. Более того, чтобы получить максимально эффективную программу зачастую требуется детальное представление о процедурах взаимодействия параллельных процессов, периодах и точках синхронизации. В ряде случаев для таких систем характерен конфликт вида «корректность-эффективность», когда для получения максимального быстродействия вопросы соблюдения корректности должен отслеживать пользователь.

Системы типа MPI, Linda, PVM реализуют механизмы параллелизма на основе модели передачи сообщений, ориентируясь на системы с рас-

пределенной памятью [3]. Подобные системы требуют достаточно серьезной модификации кода программы и все равно не избавляют от ряда операций в «ручном» режиме, например, некоторых случаев синхронизации. Используя довольно гибкий механизм параллелизма, подобные системы обладают недостаточной масштабируемостью с возрастанием числа MPI-процессов и большими накладными расходами на передачу сообщений, что особенно существенно для систем с общей памятью, где подобные механизмы обладают существенной избыточностью.

Технология Т-система (Институт программных систем РАН) [4] обеспечивает автоматическое динамическое распараллеливание. Вводя специальные расширения для языков Си, Си++ и Fortran система в то же время не требует явного указания какие из частей программы должны выполняться параллельно, т.е. организация параллельных фрагментов программы и их синхронизация полностью автоматизированы. Однако программисту в любом случае потребуется представить код программы в функциональном стиле, что требует доработки (иногда существенной) существующих текстов программ. Следует отметить, что для большинства из рассмотренных систем все равно остро стоит вопрос нахождения ветвей вычислений, которые исполняются параллельно и оптимального распределения этих данных по вычислителям. Балансировка нагрузки, которую многие из рассмотренных систем берут на себя, не является гарантированно оптимальной, что потенциально несет значительные накладные расходы. Предлагаемые на сегодняшний день средства зачастую требуют внесения существенных изменений в программный код.

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

Анализ функционирования ЭВМ фон Неймановского типа при обработке случайных данных показывает, что время обработки является случайной величиной, а исход обработки является случайным, что определяется плотностями распределения обрабатываемых данных. Поэтому при оценке временной сложности требуется привлечение теории случайных, в частности Марковских, процессов, крупный вклад в развитие которых внесли Ю.К. Беляев, Б.В. Гнеденко, Д.Р. Кокс, Д. Ллойд, В.Л. Смит, В. Хар-рис, А.М. Широков.

Актуальность поставленной проблемы связана с жестким ограничением времени при решении задач определенного класса и не решенной к настоящему времени проблемой динамического задействования дополни-

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

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

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

Вычислительные системы с параллелизмом качественно отличаются от фон-Неймановских в плане диапазона времени выполнения алгоритмов. Интуитивно можно предположить, что указанный параметр может быть варьирован от величины, получающейся в случае, если все операторы алгоритма последовательно интерпретируются одним процессором, а остальные компоненты системы в это время простаивают (верхний предел), до величины, получающейся если все компоненты начинают и заканчивают интерпретацию своих частей алгоритма одновременно и при решении задачи исключены случаи их простоя (нижний предел). Указанное обстоятельство плюс тот факт, что любой алгоритм может быть разделен на одновременно выполняемые фрагменты неоднозначно, порождают предпосылки для оптимизации временной сложности алгоритмов, реализуемых в параллельных системах. [5, 6, 7]

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

исследования поведения параллельных систем во временной области [8, 9]. Наиболее полно учет таких свойств, как случайность времени выполнения и возможность одновременного выполнения групп операторов, а также квазистохастический характер переходов при принятии решений, может быть осуществлен в моделях, в которых на структуры алгоритмов с параллелизмом накладываются стохастико-временные параметры и логические условия, ниже называемые сетями Петри-Маркова (СПМ) [10].

Критерием оптимизации параллельных программ может служить среднее время выполнения алгоритма. Среднее время параллельной системы складывается из средних времен отдельных элементарных алгоритмов. Для вычисления среднего времени можно воспользоваться операцией матричной свертки [11, 12].

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

¥= {П, М}, П = {А, Z, Я, Я }, М = {К

где П - структура ЭСПМ; М - множество параметров. В множестве Z ЭСПМ (1) имеются только два непримитивных перехода: переход г1(г) е Z, моделирующий оператор «начало», для которого 1А(г1(г)) = 0 и переход е Z, моделирующий оператор «конец», для которого ОА(гХ{£) = 0. Все остальные переходы являются примитивными. ЭСПМ (1) является слабосвязной сетью, в которой имеются пути z1(z) ^ а1(а) и а1(а) ^ Zl(z) для УаЦа) е А.

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

да Г

л J (г )=! ь-% )•. (* г I: (,).,

w=l

где 1Чг) = (1, 0, ..., 0, ...., 0); = (0, ..., 0, ...., 0, 1);

г (у )= Ь

е

1

'}

е

J

= Ь[К(г)];

),если а}

](г)}(а)\ / ^0 во всех остальных случаях.

Из ^^г) могут быть получены математическое ожидание и дисперсия времени достижения поглощающего состояния из начального состояния а1(£):

да да

Tj = J hj

0 0

Если вместо полумарковской матрицы заданы матрицы вероятностей р, плотностей распределения Т, и дисперсий D, то математическое ожидание TiJ и дисперсия DiJ могут быть получены непосредственным вычислением по зависимостям:

TJ = j/«z)[pw  T ~w]Jz);

w=1

DiJ = j/i

w=1

Зависимость (4) или (5) является моделью эффективности элементарного вычислительного процесса, реализуемого в ВС.

Список литературы

1. Коновалов Н.А., Крюков B.A., Погребцов A.A., Сазанов Ю.Л. C-DVM - язык разработки мобильных параллельных программ // Программирование. i999. №i. С. 20-28.

2. Ластовецкий А.Л., Калинов А.Я., Ледовских И.Н., Арапов Д.М., Посыпкин Н.А. Язык и система программирования для высокопроизводительных параллельных вычислений на неоднородных сетях // Программирования. 2000. №4. С. 55-80.

3. D. Gelernter, N. Carriero, S. Chandran and S. Chang. Parallel programming in Linda // In International Conference on Parallel Processing. i985. P. 255-263.

4. Abramov S.M. et al. Autotransformation of evaluation network as a basis for automatic dynamic parallelizing // Proceedings of NATUG Meeting "Transputer: Research and Application", i993.

5. Артамонов Г.Т. Предельный параллелизм асинхронных вычислений (вычислительные среды XXI века)//Вестник Российского общества информатики и вычислительной техники. i994. Т. 3. С.24-29.

6. Барский А.Б. Параллельные процессы в вычислительных системах: Планирование и организация. М.: Радио и связь, i990. 255 с.

7. Молчанов И.Н. Введение в алгоритмы параллельных вычислений. Киев: Наукова думка, i990. i28 с.

8. Лескин А.А., Мальцев А.М., Спиридонов А.М. Сети Петри в моделировании и управлении. Л.: Наука, Л.О., i989. i35 с.

9. Питерсон Дж. Теория сетей Петри и моделирование систем. М.: Мир, i984. 264 с.

10. Игнатьев В.М., Ларкин Е.В. Сети Петри-Маркова. Тула: ТулГУ, i997. i63 с.

11. Бандман О.Л. Методы параллельного микропрограммирования.

Новосибирск: Наука, 1981. 180 с.

12. Белецкий В.И. Многопроцессорные и параллельные структуры с организацией асинхронных вычислений. Киев: Наукова думка, 1988. 239 с.

A.N. Ivutin

OPTIMIZATION OF PARALLEL PROGRAMS WITH USE OF MATHEMATICAL APPARATUS PETRI-MARKOVA NETWORKS

The fundamental problem of optimal conversion of sequential algorithms in parallel with tracking of the data connections is described. A review of existing computer-aided parallelization is performed. The model of the effectiveness of the elementary computational process, implemented in a computer system is presented.

Key words: Petri-Markov nets, parallel computing systems, optimization, execution

time.

Получено 20.11.12

УДК 658.51.012.011.56

B.Л. Румянцев, д-р техн. наук, проф., зам. нач. отдела, (4872) 56-11-23, vlroom@yandex.ru, rts@cdbae.ru (Россия, Тула, ОАО ЦКБА),

Д.А. Хомяков, вед. инженер, (495) 656-77-18 (Россия, Москва, ОАО «Гликон»),

C.К. Демин, нач. лабор., (495) 980-54-76, (Россия, Москва, 3 ЦНИИ МО РФ),

Д.Ю. Семизоров, нач. отдела,

МЕТОДИКА ИНТЕЛЛЕКТУАЛЬНОЙ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ В СИСТЕМЕ УПРАВЛЕНИЯ ПРОИЗВОДСТВЕННЫМИ ПОДРАЗДЕЛЕНИЯМИ

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

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

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