Параллельная обработка информации.



Выделяют 3 основных направления организации параллельной обработки:

  1. совмещение во времени различных этапов разных задач – мультипрограммная обработка, которая возможна даже в однопроцессорной системе
  2. одновременное решение различных задач или частей одной задачи возможно при наличии нескольких обрабатывающих устройств, при этом используются те или иные свойства задач. Естественный параллелизм – в систему поступает непрерывный поток несвязанных между собой задач, решение любой из них не зависит от результатов решения других, при этом использование нескольких обрабатывающих устройств при любом способе комплексирования. Параллелизм независимых ветвей – при решении сложной задачи могут быть выделены отдельные независимые части. Двумя независимыми ветвями считают такие части, при реализации которых выполняются следующие условия:
    1. ни одна из входных для ветви величин не является выходной величиной для другой программы
    2. для обеих ветвей не должна производиться запись в одни и те же ячейки памяти
    3. условия выполнения одной ветви не зависят от результатов или признаков, полученных при выполнении другой ветви
    4. обе ветви должны выполняться по разным блокам программы

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

  1. конвейерная обработка данных может быть реализована в системе с одним процессором, но разделенным на некоторое число последовательно включенных операционных блоков, каждый из которых специализирован на выполнение определенной части операции. Для решения задачи сложения чисел с плавающей точкой предусмотрены 4 блока: сравнение порядков, выравнивание порядков, сложение мантисс, нормализация результата. Для векторов задача усложняется. Когда блок сравнения порядков выполнит операцию для первой пары операндов, он передаст результат второму блоку и возьмет из ОП новую пару операндов. Для того, чтобы не создавались очереди обычно принимают время каждого этапа максимально известного. Общее время сложения двух векторов: Тк = (n+m-1)t To = n* (t1+t2+…+tm). Выигрыш по производительности, равный числу блоков практически невозможен, так как в конвейерах команд есть условные переходы. Таким образом, чем длиннее цепочка и чем на большее число разбивается опе

локальный параллелизм.


Дата добавления: 2021-03-18; просмотров: 72; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!