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

Счастливый случай
Как правило пользователи выбирают пароли, чтобы лучше запоминались
Если на какой-либо стадии поиска поиск выполняется в нужной категории, то скорее всего пароль будет подобран быстро

Оценка времени последовательного алгоритма
Пусть последовательный алгоритм найдет результат в k-й стадии через время Δt
Время выполнения одной стадии t
Время выполнения последовательного алгоритма

Оценка времени параллельного алгоритма
Процессор параллельной системы, который выполняет k-ю стадию сразу найдет нужный результат за время Δt
Все остальные процессоры могут прекратить работу

Ускорение
Коэффициент ускорения
Сверхлиненейное ускорение возможно, когда ускорение больше p
Условие
Если успешный подбор будет сразу же после начала стадии
На практике очень вероятно, учитывая, как пользователи выбирают пароли

Сравнение факторов ограничения производительности

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