Лабораторная работа №2 по теме: «Преобразование последовательного алгоритма в параллельный» по курсу «Вычислительные системы» - umotnas.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
Лабораторная работа №3 по теме: Представление алгоритмов в виде граф-схем... 1 33.56kb.
«Распределение нитей по вычислительным модулям вычислительной системы»... 2 794.09kb.
Лабораторная работа №6 по курсу "Информационная безопасность" Лабораторная... 1 57.72kb.
Лабораторная работа по курсу Радиотехника Москва 2003 1 183.89kb.
Лабораторная работа по дисциплине «Защита информации»: Современные... 1 94kb.
Лабораторная работа №1 анализ и преобразование структурных схем. 1 92.29kb.
Лабораторная работа №1 по курсу "Информационная безопасность" Лабораторная... 1 122.31kb.
Лабораторная работа №4 по дисциплине «организация ЭВМ и систем» 1 75.42kb.
«Параллельные вычислительные системы (история)» 1 54.56kb.
Разработка урока по теме «Тепловые двигатели и их роль в жизни человека». 1 148.34kb.
Лабораторная работа №1 по дисциплине «Информационная безопасность... 1 43.31kb.
Чем отличается класс ThreadPool от класса Thread? Он статический 1 11.85kb.
Викторина для любознательных: «Занимательная биология» 1 9.92kb.

Лабораторная работа №2 по теме: «Преобразование последовательного алгоритма в параллельный» - страница №1/1

Министерство образования Российской Федерации

Московский Государственный технический Университет им. Н.Э. Баумана

Факультет «Аэрокосмический»

Лабораторная работа №2

по теме: «Преобразование последовательного алгоритма в параллельный»

по курсу «Вычислительные системы»

Выполнил

студ. гр. АК5-91 Гукетлев Д.В.

Проверил

к.т.н., доц. Руденко Ю.М.

2011

Цель работы:



Ознакомление с принципами преобразования последовательного алгоритма в параллельный. Составление программы этого преобразования для соответствующего варианта задания.

Ответы на контрольные вопросы:



  1. Чем отличается последовательный код от параллельного?

У параллельного кода выделяются параллельные ветви вычислений. Алгоритмы с выделенными параллельными ветвями.


  1. Почему символы ввода-вывода данных, а также символы «терминатор» исключены из схемы параллельного алгоритма?

При параллельном выполнении программ окончание алгоритма зависит от составленного плана решения задачи, поэтому символ «терминатор» конца и начала алгоритма надо исключить.


  1. Какое правило положено в основу определения зависимости блоков алгоритма по переменным?

Сущность алгоритма преобразования схемы последовательного алгоритма в схему параллельного алгоритма заключается в следующем.

Разобьем последовательный алгоритм на линейные участки, заключенные между логическими операторами. Каждый логический оператор порождает не менее двух линейных участков. Линейный участок, образованный входом в алгоритм логическии оператором, назовем начальным. Начальный участок может содержать несколько операторов. Следующий за начальным участок начинается и заканчивается логическим оператором, т.е. если участок 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 операторов.




  1. Какие еще зависимости по переменным между блоками алгоритма следует учесть при реализации алгоритма 3.1?

Зависимость параметров логических операторов от результатов работы информационных блоков.


  1. Как образуются дополнительные входы в алгоритм?

Дополнительные входы в алгоритм образуются, если блоки, расположенные в начальном линейном участке, в параллельном алгоритме будут располагаться параллельно.


  1. Как проводиться разбиение алгоритма на ветви?

Разобьем последовательный алгоритм на линейные участки, заключенные между логическими операторами. Каждый логический оператор порождает не менее двух линейных участков. Линейный участок, образованный входом в алгоритм логическии оператором, назовем начальным. Начальный участок может сожержать несколько оператором. Следующий за начальным участок начинается и заканчивается логическим оператором, т.е. если участок 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 операторов.

Схема исходного последовательного алгоритма:






Схема преобразованного параллельного алгоритма:





Выводы

В результате проделанной работы мы ознакомились с алгоритмом, позволяющим преобразовывать последовательный алгоритм в параллельный.