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

Презентация:



Advertisements
Похожие презентации
Для учащихся школы 19.
Advertisements

Выполнила ученица 9вкласса Зимнухова Евгения. Алгоритмы-это описание детерминированной последовательности действий, направленных на получение из исходных.
Тема Алгоритмы Виды алгоритмов Свойства алгоритмов МБОУ «СОШ 46 г.Белгорода», Учитель информатики и ИКТ Голубятникова Т.В.
Виды алгоритмических структур: –блок-схема. –линейный алгоритм. –алгоритмическая структура «ветвление». –алгоритмическая структура «выбор». –алгоритмическая.
ЕГЭ 2012 Информатика и ИКТ Консультация 3. Пример.
Схематизация (введение). Схематизация Схематизация – это способ организации понимания, который включает в себя знание: правил конструирования схем; схематичного.
Синергетика и компьютерное моделирование. Игра «Жизнь» Один из подходов к моделированию процессов самоорганизации – «клеточные автоматы» – появился благодаря.
Введение в теорию конечных автоматов. В вычислительной технике используются системы двух классов: -Комбинационные системы Особенности: имеют функциональную.
О конформности Си-программ Михаил Посыпкин ИСП РАН.
СЕТЕВОЕ ПЛАНИРОВАНИЕ И УПРАВЛЕНИЕ. Сетевой моделью (другие названия: сетевой график, сеть) называется экономико-компьютерная модель, отражающая комплекс.
Выражения языка Си(ч.2). Операции Лекция 3. Основные классы операций арифметические логические поразрядные операции сравнения.
Лекция 7. Структура языка С/С++. Операторы ветвления: условный оператор if. Полное ветвление. Неполное ветвление. Оператор множественного выбора switch.
Даталогическое проектирование. 1. Представление концептуальной модели средствами модели данных СУБД Общие представления о моделях данных СУБД С одной.
:14:49(C) KaravaevaEL, 2008 Алгоритмизация Автор – Караваева Е.Л.
Оператор множественного выбора CASEОператор множественного выбора CASE.
Лекция 1 Классификация С++. Парадигмы программирования Императивная Функциональная Декларативная (логическая) Инструкция 1 Инструкция 2 Инструкция 3 Инструкция.
Выполнила: Ученица 10 Б класса МБОУСОШ 22 Хрушкова Елена Учитель: Буткевич И. В. «Алгоритмы»«Алгоритмы»
Условный оператор Структура ветвления. Условный оператор реализует выполнение определённых команд при условии, что некоторое логическое выражение (условие)
Тема 9 Тема 9 Шифраторы и дешифраторы Сумматоры и полусумматоры.
Определения Банк данных (БнД) это система специальным образом организованных дан­ных - баз данных, программных, технических, языковых, организационно-
Транксрипт:

Параллельные алгоритмы Последовательные алгоритмы Алгоритмы, в которых определены подпоследовательности действий, предназначенные для независимого параллельного исполнения Алгоритмы, действия которых определены для строго последовательного их исполнения

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

# include void main(void) { double x,y,z; double z1,z2 ; scanf(%e 5e\n,&x,&y) ; z1=sin(x); z2=cos(y); z=z1+z2 ; printf(%e\n,z); } Параметр начала t j н оператора Р j - это значение дискретного времени, соответствующее моменту начала выполнения оператора Р j Р. Временная глубина t j 0 оператора Р j - характеризует временную задержку между началом выполнения оператора Р j Р и моментом t j к получения результатов выполняемого преобразования Тип = + sin cos var sto p vx vix tj0 tj

Интервал активности оператора. Определим для произвольного одновыходного (k jвых = 1) оператора Р j Р с параметрами t j н и t j к интервал активности dt j как временной интервал, началом которого является момент времени t j н и концом которого является момент времени t j к завершения выполнения оператора Р j dt j = ( t j н, t j н +td, t j н +2td,..., t j к ), где td – выбранное значение приращения дискретного модельного времени. В последующем будем называть произвольный оператор Р j временным оператором (ВО) и обозначать Р j (t), если для него определены ( t j н, t j к ), либо (t j н,T0(Р j )) или интервал активности dt j

Временная параметризация множества операторов алгоритма. Примем, что задано множество Р = {P j }, j =0,1,2,..., р ( р =| P |) операторов некоторого алгоритма. Формирование для множества Р = {P j } соответствующего множества Р (t) временных операторов P j (t j н, t j к ) Р (t) = {P j ( t j н, t j к )}, где j = 0,1,2,...,p, назовем временной параметризацией исходного множества Р = {P j }. Введем множество NT = { t j н } параметров начала выполнения операторов алгоритма. Будем называть исходное множество Р = {P j } абстрактным множеством операторов, а множество Р (t) временных операторов P j ( t j н, t j к ) – параметризованным во времени множеством операторов. Множественный временной оператор. Примем, что имеются множества Р (t) = {Р j (t j н, t j к )} и/или Р (t) = {Р ( t j н, T 0 (Р j )}. Назовем множественным временным оператором (МВО) подмножество Р (t jr ) Р (t ) операторов Р j (t j н ), имеющих одно и то же значение t j н = t jr (t jr NT) и, следовательно, начинающих выполняться одновременно в момент времени t jr.

Определим параллельный алгоритм как временной алгоритм, в котором имеется хотя бы одна пара операторов Р j (t j н, t j к ) и Р i (t i н, t i к ) c частично или полностью перекрывающимися интервалами активности dt j и dt i, для которых выполняется условие dt j dt i Параллельный алгоритм Определим последовательный алгоритм как временной алгоритм, имеющий единичное значение ширины h = 1. Последовательный алгоритм

ПРОИЗВОЛЬНЫЙ ВРЕМЕННОЙ ПАРАЛЛЕЛЬНЫЙ АЛГОРИТМ Си-программы, представляющих текстовую и графическую спецификации статического алгоритма Множество Т н = {t j н }, j = 0,1,2,…,p, определяющего для каждого временного оператора параметр t j н начала его выполнения

Временная Параллельная Граф - Схема для временного алгоритма А -конструкция Г (t) = (D,U, C,Y), содержащая множество U = {Uj} вершин, множество С = {Ci} стрелок (связей), множество прямых – временных ярусов Y = {Yt}, отмеченных значениями дискретного времени t, удовлетворяющую следующим условиям: имеется взаимно однозначное соответствие между вершинами Uj и операторами Pj Uj Pj, ( j = 0,1,2,..., p ; р = | P |) ; если вершине Uj поставлен во взаимно однозначное соответствие оператор Рj функционального, временного, пространственного или комбинированного преобразования, то из данной вершины Uj исходят kjвых стрелок (kjвых - число выходов оператора Рj) и в данную вершину Uj входят kjвх стрелок ( kjвх - число входов оператора Рj); K j вхK j вых U j P j

если вершине U j поставлен во взаимно однозначное соответствие условный управляющий оператор L j, проверяющий (в общем случае) выполнение одного из m логических условий, то из данной вершины U j исходят m стрелок и в данную вершину U j входят kjвх стрелок ( kjвх-число входов оператора L j ); связи между вершинами конструкции Г (t) = (D,U, C,Y), определяются заданными для множества Р = {P j } операторов алгоритма А = ( D, Р(t ), S,W, DТ )) сопряженным S и внешним W множествами; все вершины U j ВПГС Г (t) = (D,U, C,Y), поставленные во взаимно однозначное соответствие временным операторам Рj (t j н,t j к ) Р(t ) алгоритма А = ( D, Р(t), S,W, DТ )), имеющим значение параметра начала t j н = t н и образующим множественный временной оператор (МВО) Р (t н ), расположены на временном ярусе Y со значением дискретного времени t = t н и образуют МВО U (t н ) ВПГС Г (t) = (D,U, C,Y ). K j вхK j вых LjLj if SjSj WjWj PjPj Y U(t H ) MBO tHtH

Ранг временного оператора Для произвольного временного оператора Р j ВПГС Г(t) понятие ранга r j определяется следующим образом: а) ранг r j = t j 0 при W j = (случай оператора Р j, являющегося выходным оператором алгоритма); б) r j = max (r λ + t j 0 ),если W j (случай, когда оператор Р j представляет собой P λ W j внутренний оператор алгоритма, обеспечивающий формирование промежуточного результата, используемого другими, внешними по отношению к Р j, операторами Р λ алгоритма). С содержательной точки зрения ранг r j оператора Р j задает максимальное значение времени от момента начала t j н выполнения оператора Р j до завершения решения задачи (то есть временную длину соответствующего маршрута в ВПГС Г (t)).

Частный приоритет b j временного оператора Р j (в рамках отдельного алгоритма) [1,2 ]: а) b j δ = 1 при r j = max r i и r i < r j при i j ; P i P δ б) b j δ < b i δ при r j = r i и t j 0 < t i 0 ; в) b j δ |W i | ; г) b j δ < b i δ при r j = r i, t j 0 = t i 0 и |W j | = |W i |, но i < j. Общие приоритеты d j операторов Р j различных алгоритмов будем определять следующим образом d j = b j δ + max (bi ν ), если j δ > min j ν, ν M δ P i P δ ν=1...κα d j = b j δ, если j δ = min j ν. В последнем соотношении М δ - множество номеров ν (ν 1...κ) алгоритмов, имеющих более высокие приоритеты ba ν по сравнению с приоритетом ba δ рассматриваемого алгоритма, Р δ - множество операторов, относящихся к алгоритму с номером δ, имеющему приоритет f δ.

Си – программа циклического алгоритма void main(void) { int s, r ; int i, p, q, t, k ; scanf ( %d %d\n, &s, &r ) ; for (i=1; i

Файлы, задающие граф задачи на уровне операторов

ВПГС циклической Си-программы

1. Поляков Г.А., Умрихин Ю.Д. Автоматизация проектирования сложных цифровых систем коммутации и управления. - М.: Радио и связь, с. 2. Воеводин В.В., Воеводин Вл. В. Параллельные вычисления. – СПб.: БХВ-Петербург, – 608 с. 3. Новиков Ф.А. Дискретная математика для программистов: Учебник для вузов. 3-е изд.- СПб.: Питер, с. ЛИТЕРАТУРА