
- •Характеристики
- •План
- •Алгоритмы
- •Декомпозиция, Связь, Синхронизация
- •Эффективность
- •Модель
- •Характеристики
- •Характеристики
- •Характеристики системы обмена информацией
- •Масштабируемость (количество операций
- •Характеристики
- •Примеры характерных размерностей
- •Примеры
- •Другие характеристики
- •Основные свойства параллельных алгоритмов
- •Граф операций
- •Постановка задачи в терминах графа
- •Пример расписания (общая память)
- •Ограничения на расписание
- •Определение времени выполнения параллельного
- •Некоторые свойства параллельных алгоритмов
- •Доказательство 2
- •Доказательство 2
- •Доказательство 2 (продолжение)
- •Другие свойства
- •Использование описания с помощью графов
- •Факторы ограничения и повышения
- •Гипотеза Минского
- •Закон Амдала (Amdahl, 1967)
- •Иллюстрация закона Амдаля
- •Оценка времени выполнения
- •Коэффициент ускорения и эффективность
- •Графики зависимостей
- •Примеры закона Амдала
- •Централизованная схема
- •SMP система
- •Конвейер
- •Закон Густафсона
- •Оценка времени для закона Густафсона
- •Связь или противоречие?
- •Практическое применение законов Амдала и Густафсона
- •Гетерогенность
- •Дисбаланс нагрузки
- •Балансировка нагрузки
- •Сверхлинейное ускорение
- •Аппаратное сверхлинейное ускорение
- •Алгоритмическое сверхлинейное ускорение
- •Пример: подбор пароля
- •Параллельный алгоритм подбора
- •Иллюстрация
- •Счастливый случай
- •Оценка времени последовательного алгоритма
- •Оценка времени параллельного алгоритма
- •Ускорение
- •Сравнение факторов ограничения производительности
- •Выводы
- •Вопросы

Некоторые свойства параллельных алгоритмов
1.Минимальное время выполнения параллельного алгоритма соответствует максимальной длине пути (диаметру) графа
2.Для любого количества процессоров справедлива оценка времени выполнения

Доказательство 2
Пусть есть расписание для получения минимально возможного времени
пусть оно соответствует P процессорам
Пусть оно требует времени T∞
Пусть каждый последовательный шаг этого расписания начинается в момент времени ti и всего шагов N∞
Пусть на каждом шаге выполняется ni операций
Общее время выполнения равно

Доказательство 2
(продолжение)
Рассмотрим, что будет если при выполнении того же расписания у нас число процессоров равно p и не равно оптимальному числу P
|
Тогда время выполнения нашего расписания либо возрастет (если |
|||
|
p < P) либо останется неизменным (если p >= P) |
|||
|
Будем следовать нашему расписанию, но с меньшим количеством |
|||
|
процессоров |
|
|
|
|
На i-м шаге нам нужно выполнить ni операций |
|||
|
Каждому процессору необходимо выполнить последовательность |
|||
|
операций на i-м шаге |
|
||
|
|
Если p < P |
n |
|
|
|
|
|
i |
|
|
|
|
p |
|
|
p >= P |
1 |
|

Доказательство 2 (продолжение)
Время выполнения алгоритма на p процессорах на i-м шаге
Оценим время выполнения всего алгоритма на p процессорах сверху
Доказано

Другие свойства
Можно показать, что максимально возможное ускорение при неизменном количестве операций равно количеству процессоров
Если количество процессоров
равно T1/T∞ то время выполнения параллельного алгоритма не будет больше чем в 2 раза превышать оптимальное время выполнения при оптимальном расписании

Использование описания с помощью графов
Вычислительную схему необходимо выбирать с графом минимального диаметра (минимальное время наиболее длинной последовательной операции)
Оценочное оптимальное количество процессоров определяется величиной
Максимальное время выполнения можно оценить
Удобно использовать для формальной оценки эффективности известных вычислительных схем

Факторы ограничения и повышения
производительностиГипотеза Минского – принципиальная непараллельность алгоритма
Закон Амдала – наличие принципиально последовательных участков
Закон Густафсона – линейное ускорение
Гетерогенность – дисбаланс нагрузки
Сверхлинейное ускорение – аппаратное и алгоритмическое

Гипотеза Минского
Пусть программа имеет p последовательных участков
Пусть переход на тот или другой участок выполняется путем бинарного ветвления
Всего выполнится участков программы
Если всю программу выполнять на p процессорах, то ускорение будет не больше, чем
Для некоторых эффективных последовательных алгоритмов гипотеза справедлива
log2 p

Закон Амдала (Amdahl, 1967)
Наличие последовательных участков приводит к существенному снижению производительности
Пусть есть система из p процессоров
Пусть есть алгоритм, который состоит из участков, которые выполняются параллельно и участков, которые выполняются последовательно
Пусть доля последовательных частей равна α
Тогда доля параллельных частей равна (1- α)
