Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Судаков / Лекции / lec13_alg.ppt
Скачиваний:
34
Добавлен:
20.03.2015
Размер:
559.62 Кб
Скачать

Практическое применение законов Амдала и Густафсона

При очень малом количестве последовательных операций возможно очень большое ускорение при очень большом количестве процессоров

При увеличении объемов данных с которыми работает алгоритм эффекимвность распараллеливания растет

Гетерогенность

Гомогенная система – все процессоры одинаковы

Гетерогенная система – процессоры разные

Большинство алгоритмов рассчитаны на гомогенную систему

Дисбаланс нагрузки

Если алгоритм, рассчитанный на гомогенную систему запустить на гетерогенной, то

Более быстрые процессоры выполнят свою работу быстрее

Более медленные процессоры будут работать дольше

Время выполнения такой параллельной программы будет определяться самым медленным процессором!!!

Эффективность распараллеливания падает – часть процессоров простаивает

Балансировка нагрузки

Для решения проблемы используют балансировку нагрузки

Статическая – на этапе запуска задачи учитывается производительность и загруженность

Динамическая – балансировка выполняется в процессе работы

Сверхлинейное ускорение

Сверхлинейное ускорение – ускорение большее, чем количество процессоров

Согласно рассмотренной теории – не возможно

Просто учли не все варианты

На практике встречается !

Аппаратное сверхлинейное ускорение

Алгоритмическое сверхлинейное ускорение

Аппаратное сверхлинейное ускорение

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

Каждый процессор параллельной системы может

выполнять больше последовательных однотипных операций

Работать с меньшими объемами данных (за счет декомпозиции)

Данные и код лучше размещаются в оперативной памяти

Увеличивается вероятность попадания данных и кода в кэш

Очень часто встречается на практике для математических задач!!!

Алгоритмическое сверхлинейное ускорение

Возможно, когда для выполнения параллельного алгоритма

Необходимо выполнить меньше операций

Не все операции

Часто встречается в задачах поиска, подбора

Пример: подбор пароля

Пусть последовательный алгоритм поиска имеет p стадий

Стадия1: Перебор географических названий

Стадия2: Перебор нецензурных слов

Стадия3: Перебор компьютерных терминов

Последовательный алгоритм выполняет все стадии последовательно и в случае успеха останавливается

Параллельный алгоритм подбора

Каждый процессор выполняет свою стадию

Процессор1 : Стадия1

Процессор2: Стадия 2

Иллюстрация

параллельный

последовательный

Start

Time

 

 

 

ts

ts/p

 

 

Sub­space

 

t

search

 

 

 

 

xts/p

Solution found

 

 

 

x indeterminate

t

Solution found

Соседние файлы в папке Лекции