- •Теории параллельных вычислений
- •Часть 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 Параллельные операторные схемы
- •Правило функционирования операторных схем
11.4 Понятие вычислительного процесса
Вычислительным процессом над информационным базисом называется (MF) называется последовательность символов
=
где под символом ηi
подразумевается
либо символ
- символ включения оператора а, либо
- символ выключения а. Таким образом,
вычислительный процесс η
представляет
совокупность символов включения и
выключения некоторых операторов.
Аксиомы вычислительного процесса
(преобразование предъявленных операторов к последовательности η)
Для любых k и a, если процесс окончен, он содержит одинаковое число символов включения и выключения оператора а.
Если …. , некоторый отрезок программы, содержащий включение оператора а, то между двумя символами включения должен присутствовать символ выключающего оператора .
Данное условие определяет отсутствие возможности автокорреляционного выполнения оператора, то ест выключение оператора параллельно самому себе.
Требования информационного обеспечения оператора а
а может включаться только в том случае, если выработана всеми предшествующими операторами информация необходимая для всех его входов. Таким образом, вычислительный процесс является протоколом срабатывания операций и предусматривает фиксацию некоторых актов выключения вычислительных действий.
11.5 Понятие конечного автомата (ка)
моделью вычислительного процесса является граф, формализуемый в виде G = (W, A), где
W - множество вершин;
A – множество дуг, соединяющих эти вершины и при этом каждой дуге сопоставляются символы включения и выключения некоторых операторов (совокупность операторов может быть сопоставлена с вершиной). Таким образом, путям на графе соответствует некоторая последовательность включения и выключения вычислительных актов.
Если последовательность определяет вычислительный процесс, который отвечает перечисленным аксиомам, то граф вычислительного процесса является правильным.
Рисунок 26 – Символы включения (вход) и выключения (выход)
оператора А
Конечный автомат формируется на основе графовых моделей, однако каждому оператору, который сопоставляется с определенной вершиной, соответствует не один символ выключения, а некоторое множество альтернатив завершения. Таким образом, КА отличается от графа вычислительного процесса тем, что при переходе от вершины к вершине, выбор возможного пути осуществляется на основе срабатывания на предыдущем акте результатов.
Таким образом, символ в конечном автомате закрепляется на каждую совокупность альтернатив выключения.
= {a1,
a2,…
, ai
,
…, ak}
Рисунок 27 – Совокупность альтернатив включения оператора А
Для
определения требований альтернативы
завершения вводится совокупность
функций Ga,
где
a
F.
Каждая из которых осуществляется на
основе анализа полученных в операторе
результатов (содержимое памяти
выбор требуемой альтернативы завершения).
Ga,:
Альтернативы завершения оператора являются альтернативными синхронизирующими сигналами, определяющими вычислительный процесс. При этом выбор одного из альтернативных переходов в новое состояние вычислительного процесса выполняется на основе анализа компоненты m информационного базиса.
