Степень и уровни параллелизма
Степень параллелизма (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).