Министерство образования Российской Федерации
Уфимский государственный авиационный технический университет
Факультет ИРТ: Информатика и робототехника
Кафедра ПСИ: Проектирование систем информатики
Учебная дисциплина:
МЛТА: Математическая логика и теория алгоритмов
РГР: Расчетно-графическая работа
Общая тема:
ПАРАЛЛЕЛЬНЫЕ ЛОГИКО-АЛГОРИТМИЧЕСКИЕ СИСТЕМЫ
(алгоритмы и логика, аппаратная и программная реализация)
Часть 5
ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ.
МНОГОПОТОНАЯ РЕАЛИЗАЦИЯ
Индивидуальное задание
Пояснительная записка
5033.7220.0000-ПЗ
Направление подготовки:
654600: ИВТ: Информатика и вычислительная техника
Специальность:
230100: ИВТ: Информатика и вычислительная техника
Курс обучения:
Учебная группа:
Работу выполнила
студентка
Зачетная книжка №
Вариант задания: A570
Работу принял
должность
2007
мНОГОПОТОЧНАЯ реализации параллельных алгоритмов
Исходные условия
Общее содержание работы
Работа выполняется по образцу алгоритма:
A571 = (Z2 – (((Z0 & Z8) – Z2) & Z3) – ((Z4 & (Z8 – Z2)) & (Z6 – Z7)))
Исходное описание алгоритма
СФА: Структурная формула алгоритма
Алгоритм операционного цикла // включая загрузку и разгрузку
A= (Zz–A571 –Zr)
Алгоритм этапа обработки:
основной перехода технологической операции – без учета вспомогательных переходов загрузки разгрузки деталей.
ИнФ: Инфиксная форма
A571 = (Z2 – (((Z0 & Z8) – Z2) & Z3) – ((Z4 & (Z8 – Z2)) & (Z6 – Z7))) =
Ввод явного отражения парной операции параллельной конъюнкции (#&):
ИнФ: Инфиксная форма
= (Z2 – (((Z0#&Z8) –Z2)#&Z3) – ((Z4#& (Z8 –Z2))#& (Z6 –Z7))) =
= (Z2 – (((Z0 #&Z8) –Z2) #&Z3) – ((Z4 #& (Z8 –Z2)) #& (Z6 –Z7))) =
Вывод комбинированной формы записи структурной формулы:
ИнПрПоФ: Инфиксно-префиксно-постфиксная форма
= (Z2 – (((Z0 #& Z8) – Z2) #& Z3) – ((Z4 #& (Z8 – Z2)) #& (Z6 – Z7))) =
= (Z2 – (((Z0 #& Z8) – Z2) #& Z3) – (#(Z4, (Z8 – Z2))& #& (Z6 – Z7))) =
= (Z2 – (((Z0 #& Z8) – Z2) #& Z3) – (#(Z4, (Z8 – Z2))& #& (Z6 – Z7))) =
= (Z2 – (((Z0 #& Z8) – Z2) #& Z3) – #(#(Z4, (Z8 – Z2))&, (Z6 – Z7))&) =
= (Z2 – (((Z0 #& Z8) – Z2) #& Z3) – #(#(Z4, (Z8 – Z2))&, (Z6 – Z7))&) =
= (Z2 – ((#(Z0, Z8)& – Z2) #& Z3) – #(#(Z4, (Z8 – Z2))&, (Z6 – Z7))&) =
= (Z2 – ((#(Z0, Z8)& – Z2) #& Z3) – #(#(Z4, (Z8 – Z2))&, (Z6 – Z7))&) =
= (Z2 – #((#(Z0, Z8)& – Z2), Z3)& – #(#(Z4, (Z8 – Z2))&, (Z6 – Z7))&) =
= (Z2 – #((#(Z0, Z8)& – Z2), Z3)& – #(#(Z4, (Z8 – Z2))&, (Z6 – Z7))&) =
Сса: Структурная схема алгоритма. Вариант 1. Линейный стиль
ШТА: Штрих-схема алгоритма
ДИА: Диаграмма исполнения алгоритма
Набор формулы и данных:
ДИА: Диаграмма исполнения алгоритма
ЛД: Линейная (временная) диаграмма
СД: Сетевая (временная) диаграмма:
ручная доработка – указание причинно-следственных связей событий
# # # # & & & &
Специальная подготовка алгоритма
ССА: Структурная схема алгоритма. Вариант 2. Мозаичный стиль
СФА: Структурная формула алгоритма
ИнПрПоФ: Инфиксно-префиксно-постфиксная форма
A571 = (Z2 #((#(Z0, Z8)& Z2), Z3)& #(#(Z4, (Z8 Z2))&, (Z6 Z7))&)
ШСА: Штрих-схема алгоритма
Связный вариант
Разделение потоков команд алгоритма:
A40: A30: A20: A10:
Замена обозначений
A40: A30: A10: A20:
Итоговая СФА: Структурная формула алгоритма:
1) Дополнительные алгоритмы (подалгоритмы), выделяемые в дополнительные потоки (упаковываются в треды):
A10 = Z3
A20 = Z8
A30 = Z6 – Z7
A40 = Z8 – Z2
2) Основной алгоритм (в основном потоке):
A571 = Z2 – FA10 – FA20 – Z0 – JFA20 – Z2 –JFA10 – FA30 – FA40 – Z4 –JFA40 – JFA30
Структурные операторы:
FZi = F(Zi) = Fork(Zi) – оператор узла вилки:
упаковка в поток и вызов команды Zi в потоке
J&Zi = J&(Zi) = Join_&(Zi) – оператор узла сборки:
ожидание (wait) завершения команды Zi