страница 1
|
|
Похожие работы
|
Лабораторная работа №2 по теме: «Преобразование последовательного алгоритма в параллельный» - страница №1/1
Министерство образования Российской Федерации Московский Государственный технический Университет им. Н.Э. Баумана Факультет «Аэрокосмический» Лабораторная работа №2 по теме: «Преобразование последовательного алгоритма в параллельный» по курсу «Вычислительные системы» Выполнил студ. гр. АК5-91 Гукетлев Д.В. Проверил к.т.н., доц. Руденко Ю.М. 2011 Цель работы: Ознакомление с принципами преобразования последовательного алгоритма в параллельный. Составление программы этого преобразования для соответствующего варианта задания. Ответы на контрольные вопросы:
У параллельного кода выделяются параллельные ветви вычислений. Алгоритмы с выделенными параллельными ветвями.
При параллельном выполнении программ окончание алгоритма зависит от составленного плана решения задачи, поэтому символ «терминатор» конца и начала алгоритма надо исключить.
Сущность алгоритма преобразования схемы последовательного алгоритма в схему параллельного алгоритма заключается в следующем. Разобьем последовательный алгоритм на линейные участки, заключенные между логическими операторами. Каждый логический оператор порождает не менее двух линейных участков. Линейный участок, образованный входом в алгоритм логическии оператором, назовем начальным. Начальный участок может содержать несколько операторов. Следующий за начальным участок начинается и заканчивается логическим оператором, т.е. если участок Ui состоит из множества операторов {Lij,ci1,...,cini,Lij+1}, то следующий участок Ui+1 = {Li+1j+1,ci+11,...,ci+1ni+1,Li+1j+2} и т.д., где Lij, Lij+1, Li+1j+1, Li+1j+2 – логические операторы, причем Lij+1 = Li+1j+1 , а ci1,...,cini , ci+11,...,ci+1ni+1 - некоторые операторы. Таким образом, последний логический оператор Lj+1 участка Ui является первым оператором для участка Ui+1. На каждом участке операторы пронумированы: 1, 2, ..., uk. Последние участки - это линейные участки, не имеющие в качестве последнего оператора логических операторов. Пусть в результате такого разбиения образовалось N участков k = 1, ..., N , в каждом из которых оказалось uk операторов.
Зависимость параметров логических операторов от результатов работы информационных блоков.
Дополнительные входы в алгоритм образуются, если блоки, расположенные в начальном линейном участке, в параллельном алгоритме будут располагаться параллельно.
Разобьем последовательный алгоритм на линейные участки, заключенные между логическими операторами. Каждый логический оператор порождает не менее двух линейных участков. Линейный участок, образованный входом в алгоритм логическии оператором, назовем начальным. Начальный участок может сожержать несколько оператором. Следующий за начальным участок начинается и заканчивается логическим оператором, т.е. если участок Ui состоит из множества операторов {Lij,ci1,...,cini,Lij+1}, то следующий участок Ui+1 = {Li+1j+1,ci+11,...,ci+1ni+1,Li+1j+2} и т.д., где Lij, Lij+1, Li+1j+1, Li+1j+2 – логические операторы, причем Lij+1 = Li+1j+1 , а ci1,...,cini , ci+11,...,ci+1ni+1 - некоторые операторы. Таким образом, последний логический оператор Lj+1 участка Ui является первым оператором для участка Ui+1. На каждом участке операторы пронумированы: 1, 2, ..., uk. Последние участки - это линейные участки, не имеющие в качестве последнего оператора логических оператором. Пусть в результате такого разбиения образовалось N участков k = 1, ..., N , в каждом из которых оказалось uk операторов. Схема исходного последовательного алгоритма: Схема преобразованного параллельного алгоритма: Выводы В результате проделанной работы мы ознакомились с алгоритмом, позволяющим преобразовывать последовательный алгоритм в параллельный. |
|