848.72K

Параллельное программирование. Архитектура компьютеров (тема 3.3,)

1.

Параллельное
программирование
Архитектура компьютеров,
Тема 3.3,
Тимощенко Е.В.

2.

Параллельные вычисления:
смысл и реализация
Первоначально основы параллельного
программирования закладывались в архитектуре
вычислительных устройств. Была предложена
классификация на основе понятия потока.
Последовательность команд, данных, функционально
полных последовательных алгоритмов
рассматривалась как объект, который можно
исполнить параллельно с другим подобным объектом
При таком подходе сущность каждого объекта не имела
значения, но имело значение такое разбиение на
параллельные участки кода, которые могли быть
исполнены независимо, то есть данные на входе и
выходе каждого потока не пересекались. Каждый поток
не зависел от другого потока, а если он нуждался в
данных от другого потока, то переходил в режим
ожидания

3.

Основные классы
современных параллельных систем
SMP
Симметричная мультипроцессорная система
MPP
Массивно-параллельная система
NUMA
Система с неоднородным доступом к памяти

4.

5.

6.

7.

Параллельная обработка данных
на ЭВМ
Параллельная обработка
Конвейерная обработка

8.

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

9.

Распараллеливание сложных задач
1. Локальное
2. Глобальное
3. Смешанное распараллеливание

10.

Метрика программного и аппаратного обеспечения
Метрика аппаратного обеспечения показывает, на что способно аппаратное
обеспечение. Но пользователей интересует совсем другое. Они хотят знать,
насколько быстрее будут работать их программы на компьютере параллельного
действия по сравнению с однопроцессорным компьютером. Для них ключевым
показателем является коэффициент ускорения: насколько быстрее работает
программа в п-процессорной системе по сравнению с 1-процессорной системой.
Результаты обычно иллюстрируются графиком (рис. 8.). Здесь мы видим несколько
разных параллельных программ, которые работают на мультикомпьютере, состоящем
из 64 процессоров Pentium Pro. Каждая кривая показывает повышение скорости работы
одной программы с к-процессорами как функцию от к. Идеальное повышение скорости
показано пунктирной линией, где использование к процессоров заставляет программу
работать в к раз быстрее для любого к.
Лишь немногие программы достигают совершенного повышения скорости,
но есть достаточное число программ, которые приближаются к идеалу.
Скорость работы N-объектной задачи с добавлением новых процессоров
увеличивается очень стремительно; авари (африканская игра) ускоряется вполне сносно;
но инвертирование матрицы нельзя ускорить более чем в пять раз, сколько бы процессоров
мы не использовали.
English     Русский Правила