Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Параллелизм независимых ветвей

Крупнозернистый параллелизм.

Векторный параллелизм. Наиболее распространенной в обработке структур данных является векторная операция (естественный параллелизм). Вектор — одномерный массив, который образуется из многомерного массива, если один из индексов не фиксирован и пробегает все значения в диапазоне его изменения. В параллельных языках этот индекс обычно обозначается знаком *. Пусть, например, А, В, С — двумерные массивы. Рассмотрим следующий цикл:

DO 11 = 1,N

1 C(I,J) = A(I,J) + B(I,J)

Нетрудно видеть, что при фиксированном J операции сложения для всех I можно выполнять параллельно, поскольку ЯПФ этого цикла имеет один ярус. По существу этот цикл соответствует сложению столбца J матриц А и В с записью результата в столбец J матрицы С. Этот цикл на параллельном языке записывается в виде такой векторно операции:

С (*, j) = A (*, j) + В (*, j).

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

Области применения векторных операций над массивами обширны: цифровая обработка сигналов (цифровые фильтры); механика, моделирование сплошных сред;


метеорология; оптимизация; задачи движения; расчеты электрических характеристик БИС

и т. д.

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

В параллельных языках запуск параллельных ветве осуществляется с помощью оператора FORK Ml, М2,..., ML, где Ml, М2,..., ML — имена независимых ветве. Каждая ветвь заканчивается оператором JOIN (R,K), выполнение которого вызывает вычитание единицы из ячейки памяти R. Так как в R предварительно записано число, равное количеству ветве, то при последнем срабатывании оператора JOIN (все ветви выполнены) в R оказывается нуль и управление передается на оператор К. Иногда в JOIN описывается подмножество ветвей, при выполнении которого срабатывает этот оператор. В последовательных языках аналогов операторам FORK и JOIN нет и ветви выполняются друг за другом. Рассмотрим пример задачи с параллелизмом ветве.

Параллелизм вариантов

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

Параллелизм вариантов отличается от идеологии крупнозернистого параллелизма. Отличие состоит в том, что в случае крупнозернистого параллелизма вычисления проводятся внутри одно задачи и требования к скорости обмена между частями задачи достаточно высокие. В параллелизме вариантов распараллеливаются целые задачи, обмен между которыми в принципе отсутствует.

Системы распределенных вычислений идеальны для решения вариантных задач. Закон Амдала.

Одной из главных характеристик параллельных систем является ускорение R параллельной системы, которое определяется выражением:

R = Ti /Тп,

где Т^ - время решения задачи на однопроцессорной системе, а Тп - время решения той же задачи на п - процессорной системе.

Пусть W = W^ + Wi j,, где W - общее число операций в задаче, Wm - число операций, которые можно выполнять параллельно, a Wg - число скалярных (нераспараллеливаемых) операций.

Обозначим также через t время выполнения одной операции. Тогда получаем известный закон Амдала [13]:

 


Здесь а = W^ /W - удельный вес скалярных операций.

Закон Амдала определяет принципиально важные для параллельных вычислени положения:

•S ускорение зависит от потенциального параллелизма задачи (величина 1- а) и параметров аппаратуры (числа процессоров п).

S предельное ускорение определяется свойствами задачи.

Пусть, например, а = 0,2 (что является реальным значением), тогда ускорение не может превосходить 5 при любом числе процессоров, то есть максимальное ускорение определяется потенциальным параллелизмом задачи. Очевидной является чрезвычайно высокая чувствительность ускорения к изменению величины а.

<== предыдущая лекция | следующая лекция ==>
Мелкозернистый (скалярный) параллелизм | Сетевой закон Амдала
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 452; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.