
- •Лекция 1 Параллельная обработка данных
- •1. Ярусно-параллельная форма алгоритма
- •2. Автоматическое обнаружение параллелизма
- •3. Степень и уровни параллелизма
- •4. Виды параллелизма
- •4.1. Естественный параллелизм и параллелизм множества объектов
- •4.2. Параллелизм независимых ветвей
- •4.3. Параллелизм смежных операций или локальный параллелизм
- •5. Модель задачи
3. Степень и уровни параллелизма
Степень параллелизма (D) – это порядок числа параллельно работающих устройств в системе при реализации алгоритма задач, при условии, что количество процессоров (обрабатывающих устройств) не ограничено.
1) Низкая степень : от 2 до 10 процессоров.
2) Средняя степень : от 10 до 100 процессоров.
3) Высокая степень : от 100 до 104 процессоров.
4) Сверхвысокая степень : от 104 до 106 процессоров.
Г
рафическое
представление параметра D(t)
как функции времени называют профилем
параллелизма программы. На рис.1.3 показан
типичный профиль параллелизма.
В прикладных программах имеется широкий диапазон потенциального параллелизма. В вычислительно интенсивных программах в каждом цикле параллельно могут выполнятся от 500 до 3500 арифметических операций, если для этого имеется существующая вычислительная среда. Однако даже правильно спроектированный суперскалярный процессор способен поддерживать от 2 до 5,8 команды за цикл. Такое падение связано в первую очередь с коммуникационными и системными издержками.
Более сильное влияние на производительность вычислительных средств, чем степень параллелизма, оказывает уровень параллелизма.
Рассматривают алгоритмический и схемный уровни параллелизма.
Выделяют следующие алгоритмические уровни параллелизма:
1
. Уровень
заданий:
а) между заданиями;
б) между фазами заданий.
2. Программный уровень:
а) между частями программы;
б) в пределах циклов.
3. Командный уровень (между фазами выполнения команд).
4. Арифметический и разрядный уровень:
а) между элементами векторной операции;
б) внутри логических схем АЛУ.
Каждый из уровней характеризуется определенными свойствами, исходя из которых, разработаны специальные структуры вычислительных средств. Командный уровень реализуется в любых современных ЭВМ, включая и персональные ЭВМ.
Схемный уровень параллелизма – это аппаратный уровень, на котором осуществляется распараллеливание обработки данных или организация параллельных вычислений.
Параллельная обработка может быть реализована на следующих схемных уровнях:
1. На уровне логических вентилей и элементов памяти (рис.1.4).
2. Уровень логических схем и простых автоматов с памятью (рис.1.5).
3. Уровень регистров и интегральных схем памяти (рис.1.6).
4. Уровень элементарных микропроцессоров (рис.1.7).
5. Уровень макропроцессоров, реализующих крупные операции (рис.1.8).
6. Уровень вычислительных машин, процессоров и программ (рис.1.9).
4. Виды параллелизма
4.1. Естественный параллелизм и параллелизм множества объектов
В информационном графе могут быть выделены «вертикальные» независимые подграфы, которые не используют взаимно каких-либо промежуточных результатов, полученных при реализации примитивных операций другого подграфа. Такой вид параллелизма получил название естественного параллелизма независимых задач.
Задача обладает естественным параллелизмом, если в её исходной постановке она сводится к операции над многомерными векторами, многомерными матрицами или над решётчатыми функциями (рис.1.10).
Параллелизм множества объектов представляет собой частный случай естественного параллелизма. Его смысл в том, что задача состоит в обработке информации о различных, но однотипных объектах, обрабатываемых по одной и той же или почти по одной и той же программе (рис.1.11).
З
десь
сравнительно малый вес занимают так
называемые интегральные операции. При
параллелизме множества объектов чаще,
чем в общем случае, встречаются ситуации,
когда отдельные участки вычислений
должны выполняться различно для разных
объектов.