- •Лекция 1. Введение
- •Принципы параллельных вычислений
- •Лекция 2.
- •Лекция 3.
- •Эффективность параллельных вычислений (закон Амдала)
- •Закон Мура и его перспективы.
- •Каждые 2 года количество транзисторов на кристалле удваивается
- •Лекция 4. Основные этапы развития параллельной обработки
- •Лекция 5. Мелкозернистый параллелизм
- •Принципы распараллеливания и планирования базовых блоков.
- •Лекция 6. Алгоритм автоматического распараллеливания арифметических
- •Лекция 7.
- •Лекция 8.
- •Лекция 9.
- •Лекция 10.
- •Лекция 11. Крупнозернистый параллелизм
- •Классификация Флинна
- •Арифметические конвейеры
- •Лекция 12. Многопроцессорные системы с общей памятью или
- •Лекция 13. Многопроцессорные системы с индивидуальной памятью или Массивно-параллельные системы (mpp)
- •Средства параллельного программирования Параллельные алгоритмы
- •Лекция 14. Стандарт mpi
- •Mpi программа для вычисления числа π на языке с.
- •Программа умножения матрицы на вектор
- •Лекция 15.
- •Лекция 16.
- •Вычислительные кластеры.
- •Лекция 17.
- •Лекция 18. Параллельные вычисления в грид Некоторые этапы развития it технологий
- •Лекция 19. Грид
- •Облачные вычисления
- •Лекция 20. Пакет Globus Toolkit.
- •Параллельные вычислени в грид. Пакет g2.
Принципы параллельных вычислений
Большие задачи.
Все задачи принципиально можно разделить на две группы: P (Polinomial) и NP (Non Polinomial) задачи . P задачи характеризуются объемом вычислений , гдеa – объем входных данных, p – полином невысокой степени. Такие задачи под силу современным многопроцессорным ЭВМ и называются «большими». NP задачи характеризуются выражением и современным машинам «не по зубам». Для решения таких задач могут использоваться квантовые ЭВМ,
скорость вычислений которых пропорциональна объему данных.
Время решения «больших» задач определяется количеством вычислитель
ных операций в задаче и быстродействием вычислительных машин. Естествен-
но, с ростом быстродействия вычислительных машин растет и размер решаемых задач. Для сегодняшних суперЭВМ доступными являются задачи с числом
операций с плавающей точкой.
Большое количество вычислительных моделей строится на базе решения
СЛАУ, при этом размеры решетки (число уравнений) может достигать многих
тысяч. Например, при моделировании полупроводниковых приборов число
уравнений может быть равно . Известно, что решение такой системы требует порядкавычислений поплавающих операций для каждого вычисления. Тогда общее время расчета одного варианта моделирования будет порядкаопераций.
Методы повышения быстродействия
Для решения больших задач нужны все более быстрые компьютеры. Есть всего два основных способа повышения быстродействия ЭВМ:
1. За счет повышения быстродействия элементной базы (тактовой частоты). Быстродействие процессора растет пропорционально росту тактовой час-
тоты, при этом не требуется изменения системы программирования и пользовательских программ.
2. За счет увеличения числа одновременно работающих в одной задаче
ЭВМ, процессоров, АЛУ, умножителей и так далее, то есть за счет параллелизма выполнения операций. Это требует использования сложных систем параллельного программирования. Это крупный недостаток метода.
Параллельные системы по архитектуре разделяются на два класса:
• Конвейерные системы, когда несколько специализированных блоков одновременно работают над частями одного потока команд.
• Параллельные системы, когда множество команд одной программы одновременно выполняются множеством АЛУ или процессоров.
Рассмотрим примеры этих методов.
Тактовая частота (рис.1.1). Тактовая частота зависит от размеров конст-
руктива, кристалла, на котором расположены арифметико-логические элемен-
ты.Повышение тактовой частоты является важным средством повышения быстродействия компьютеров, но ограничено фундаментальными физическими законами. Естественно, при переходе на расстояния внутри кристалла, соответственно вырастает и частота.
В реальной комбинационной схеме компьютера за время такта синхронизации сигнал последовательно проходит через много логических схем. Это время прохождения определяет длительность такта и частоту синхронизации,
Конвейерные системы. Для примера рассмотрим конвейер команд известного микропоцессора Pentium .
Он содержит следующие ступени:
• ступень предвыборки PF (Prefetch), которая осуществляет упреждающую
выборку группы команд в соответствующий буфер;
• ступень декодирования полей команды D1 (Decoder 1);
• ступень декодирования D2 (Decoder 2), на которой производится вычисление абсолютного адреса операнда, если операнд расположен в памяти;
• на ступени исполнения EXE (Execution) производится выборка операндов из РОН или памяти и выполнение операции в АЛУ;
• на ступени записи результата WR (Write Back) производится передача полученного результата далее.
В таком конвейере на разных ступенях выполнения находится 5 команд.
После очередного такта на выходе конвейера получается новый результат (ка-
ждый такт), а на вход выбирается новая команда. В идеальном случае быстро-
действие микропроцессора возрастает в 5 раз.
Конвейерные системы теряют смысл, когда время передачи информации со ступени на ступень становится соизмеримым со временем вычислений на каждой ступени.
Вопросы для самоконтроля.
В связи, с чем появились параллельные вычисления?
На какие группы можно разделить «большие задачи». Чем определяется время решения таких задач?
Назовите способы повышения быстродействия ЭВМ.
Классы параллельных систем по архитектуре.