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

Практическое применение законов Амдала и Густафсона
При очень малом количестве последовательных операций возможно очень большое ускорение при очень большом количестве процессоров
При увеличении объемов данных с которыми работает алгоритм эффекимвность распараллеливания растет

Гетерогенность
Гомогенная система – все процессоры одинаковы
Гетерогенная система – процессоры разные
Большинство алгоритмов рассчитаны на гомогенную систему

Дисбаланс нагрузки
Если алгоритм, рассчитанный на гомогенную систему запустить на гетерогенной, то
Более быстрые процессоры выполнят свою работу быстрее
Более медленные процессоры будут работать дольше
Время выполнения такой параллельной программы будет определяться самым медленным процессором!!!
Эффективность распараллеливания падает – часть процессоров простаивает

Балансировка нагрузки
Для решения проблемы используют балансировку нагрузки
Статическая – на этапе запуска задачи учитывается производительность и загруженность
Динамическая – балансировка выполняется в процессе работы

Сверхлинейное ускорение
Сверхлинейное ускорение – ускорение большее, чем количество процессоров
Согласно рассмотренной теории – не возможно
Просто учли не все варианты
На практике встречается !
Аппаратное сверхлинейное ускорение
Алгоритмическое сверхлинейное ускорение

Аппаратное сверхлинейное ускорение
Возможно, если процессоры параллельной программы выполняют параллельный код с большей производительностью, чем последовательный
Каждый процессор параллельной системы может
выполнять больше последовательных однотипных операций
Работать с меньшими объемами данных (за счет декомпозиции)
Данные и код лучше размещаются в оперативной памяти
Увеличивается вероятность попадания данных и кода в кэш
Очень часто встречается на практике для математических задач!!!

Алгоритмическое сверхлинейное ускорение
Возможно, когда для выполнения параллельного алгоритма
Необходимо выполнить меньше операций
Не все операции
Часто встречается в задачах поиска, подбора

Пример: подбор пароля
Пусть последовательный алгоритм поиска имеет p стадий
Стадия1: Перебор географических названий
Стадия2: Перебор нецензурных слов
Стадия3: Перебор компьютерных терминов
…
Последовательный алгоритм выполняет все стадии последовательно и в случае успеха останавливается

Параллельный алгоритм подбора
Каждый процессор выполняет свою стадию
Процессор1 : Стадия1
Процессор2: Стадия 2
…

Иллюстрация
параллельный
последовательный
Start |
Time |
|
|
|
ts |
ts/p |
|
|
Subspace |
|
t |
search |
|
|
|
|
|
|
xts/p |
Solution found |
|
|
|
|
x indeterminate |
t
Solution found