- •Теории параллельных вычислений
- •Часть 2
- •Теории параллельных вычислений. Часть 2. Методические указания / Сост. К.В.Кротов - Севастополь: Изд-во СевНту, 2009.- 81 с.
- •Содержание
- •1. Понятия отношений. Классы эквивалентности
- •2. Понятие зависимостей между операторами программы
- •Отношениями зависимости и независимости операций
- •3.1 Непосредственная (сильная) зависимость операций
- •Понятие линейной программы
- •Понятие множеств переменных, используемых в программе
- •Понятие входных переменных в программе
- •3.2 Слабая зависимость операций
- •3.3 Слабая независимость операций
- •3.4 Сильная независимость операций
- •Свойства отношений зависимости и независимости между операциями
- •Алгоритм распараллеливания последовательных программ путем приведения их к полной параллельной форме (ппф)
- •4.1 Условия приводимости к ппф
- •Упрощенная интерпретация условия
- •Пояснение к условию
- •Правило изменения порядка:
- •4.2 Процедура приводимости к ппф
- •Алгоритм преобразования программы к ппф
- •4.3 Метод формирования параллельных групповых операторов
- •Особенности распараллеливания программы путем приведения ее к ппф
- •5.1 Понятие двумерной модели вычислительного процесса
- •5.2 Уточнение множеств двумерной модели вычислительного процесса
- •6 Распараллеливание программ с использованием понятия модели вычислительного процесса Понятие операции и выражения
- •6.1 Постановка задачи распараллеливания
- •Правила построения таблицы для распараллеливания
- •6.2 Условия формирования множества *Aк (функция f1 - функция двумерной модели)
- •Условие бесконфликтности
- •6.3 Правила построения япф программы
- •6.4 Формализация условий вынесения операций ai на k-ый ярус япф
- •Операции с тремя входами
- •7 Распараллеливание программ на основе понятий примитивно-вычислимых и частично-вычислимых функций Понятие вычислимых и рекурсивных функций
- •7.1 Задание рекурсивных функций (Формирование процесса задания алгоритма вычислимых функций)
- •7.2 Суперпозиция вычислимых функций Задание области определения для оператора суперпозиции вычислимых функций
- •7.3 Оператор примитивной рекурсии
- •7.4 Распараллеливание алгоритмов примитивной рекурсии
- •7.5 Распараллеливание простейших аддитивных и мультипликативных функций
- •7.6 Операторы представления суперпозиции и примитивной рекурсии
- •Суперпозиция
- •Оператор рекурсии
- •7.7 Обобщенная форма операторов суперпозиции и рекурсии
- •7.8 Обобщенный вид оператора рекурсии
- •7.9 Обобщенный вид оператора суперпозиции для множественного потока данных
- •8 Распараллеливание программ с использованием моделей вычислительных процессов Модели программ
- •8.1 Граф управления
- •Информационный граф программы
- •8.2 Понятие графа зависимости между операторами
- •8.3 Граф влияния
- •8.4 Теоретико-графовый подход к распараллеливанию алгоритмов
- •8.5 Транзитивные замыкания
- •Формирование транзитивного замыкания
- •Формализация транзитивного замыкания (транзитивного образа вершины)
- •Формализация процедуры определения транзитивного прообраза вершины
- •8.6 Алгоритм формирования параллельной формы программы по графу управления на основе понятия транзитивного образа замыкания вершины
- •8.7 Алгоритм распараллеливания на основе понятия прообраза
- •8.8 Приведение стандартной схемы программы к ярусно-параллельной форме
- •Модели параллельных процессов
- •9 Сети петри
- •Алгоритм функционирования сети Петри
- •Возможности применения сетей Петри
- •10 Графовые модели. Общие понятия
- •10.1 Модель биологического графа
- •Правило функционирования моделей биологических графов
- •10.2 Модель модифицированного биологического графа
- •11.1 Алгоритм формирования а-схемы
- •11.2 Понятие спусковых и управляющих функций
- •11.3 Функционирование a-схем
- •11.4 Понятие вычислительного процесса
- •Аксиомы вычислительного процесса
- •Требования информационного обеспечения оператора а
- •11.5 Понятие конечного автомата (ка)
- •11.6 Логические рассуждения. Комментирование функционирования ка
- •12 Параллельные операторные схемы
- •Правило функционирования операторных схем
10.2 Модель модифицированного биологического графа
Модификация биологического графа связана с введением дополнительной конъюнктивно-дизъюнктивной логики и предполагает использование многоголовых (Рис.21) и многохвостовых дуг (Рис. 23).
Рисунок 20 – Пример биологического графа с использованием многоголовых дуг
Моделируется передача управления от любой из вершин при наличии конъюнктивной входной логики.
Рисунок 23 – Пример биологического графа с использованием многохвостовых дуг
Моделируется «разложение» управления при дизъюнктивно-выходной логике.
Пример использования модификации биологического графа (Рис.24)
Моделирование программы представляется биологическим графом с одной входной и одной выходной вершиной. Управление выполнением программы осуществляется путем сопоставления с каждой вершиной водных логик двух типов, а с дугами – фишек.
Рисунок 24- Пример использования модификации биологического графа
Граф предназначен для моделирования процессов, в которых дуг входящих вершин или исходящих из нее более чем две, при этом возможно чередование готовности и неготовности вершин (блок 1) либо выставление фишки на одну дугу результата с тем, чтобы срабатывали две последующие вершины (блок 2), то есть чередование логик функционирования вершин.
Для вершины V8условием запуска является наличие фишек на входных дугах. Многоголовая дуга позволяет передавать управление на V9. Условие запуска V6 при наличии конънктивно-входной логики имеет вид :
((V4 или V5) и V6).
Вершина V3 имеет дизъюнктивную логику, то есть передача управления осуществляется ((V3 или V4) и V5), управление осуществляется по одной из выходных дуг. Однако, необходимо при выставлении фишки на одну дугу активизировать все вершины V5 и V7, то есть осуществить «разложение» управления по двум входным дугам соответствующих вершин, которое может содержаться на каждой дуге в любой момент времени произвольно, то есть многохвостовая дуга определяет «раскрытие управления» в соответствии с условием ((V5 и V7) или V8).
11 А-схемы. А-программы. Вводные понятия
Заданы множества:
Ячеек памяти или переменных: М = {x, y, … , x i, …}.
Множество символов операторов: F = {a, b, … ,a i, …}.
При построении А-схемы (графа зависимости) и стандартной схемы программы, каждая вершина этих графов сопоставляется с элементом множества. Вершина графа стандартной схемы вместе с М сопоставляется с элементами множества М.
Пара
множеств (M,
F)
называется информационным базисом
программы. В дополнение к базису (M,
F)
может быть введено множество P,
определяющее операторы - распознаватели,
т.е. базис имеет вид: (M,
F
.
Операторы
входа в P
являются преобразователями. Таким
образом, стандартная схема программирования
является графом, вершины которого
обозначаются элементами из
и с каждой из вершин сопоставляются
элементы множества М. Стандартная схема,
сформированная на основе блок-схемы и
является моделью последовательной
программы.
Примечание: Множество может быть дополнено операторами:
i - оператор начала программы,
о – оператор окончания программы.
Пример формирования стандартных схем (Рис. 25)
Рисунок 25 - Пример формирования стандартных схем
