Содержание
- 2. План Распараллеливание Характеристики алгоритмов Основные теоремы Факторы снижения эффективности распареллеливания
- 3. Алгоритмы Алгоритм – набор действий, которые необходимо выполнить для решения задачи Последовательный алгоритм – решение задачи
- 4. Декомпозиция, Связь, Синхронизация Декомпозиция – разбиение задачи на составные части Декомпозиция данных Декомпозиция функций Комбинированная декомпозиция
- 5. Эффективность распараллеливания Единственная цель распараллеливания – уменьшение времени вычислений Не все задачи одинаково эффективно распараллеливаются Задачи
- 6. Модель Система с p процессорами Процессоры могут взаимодействовать между собой В модели с общей памятью каждый
- 7. Характеристики алгоритмов Время вычисления на одном процессоре Время вычисления на p процессорах Количество операций последовательного алгоритма
- 8. Характеристики эффективности распараллеливания Коэффициент ускорения Во сколько раз время параллельный алгоритм быстрее Идеальное ускорение Идеальное ускорение
- 9. Характеристики системы обмена информацией Время передачи единицы информации Время начальной задержки Латентность Время установления связи Отношение
- 10. Масштабируемость (количество операций алгоритма) Программы (алгоритмы) работают со входными данными Чем больше данных, тем дольше они
- 11. Характеристики масштабируемости Характерная размерность задачи Количество входных данных Количество операций алгоритма Нотация большого O Как ведет
- 12. Примеры характерных размерностей Количество элементов массива n Размер квадратной матрицы nxn
- 13. Примеры масштабируемости
- 14. Другие характеристики Производительность системы Цена алгоритма Суммарные затраты процессорного времени
- 15. Основные свойства параллельных алгоритмов На сколько вообще можно ускорить вычисления за счет параллельной обработки? Какое оптимальное
- 16. Граф операций Граф операции-аргументы Вершины графа – выполняемые операции Дуги – какие результаты предыдущих операций используются
- 17. Постановка задачи в терминах графа Последовательности операций соответствует путь на графе Параллельно могут быть выполнены те
- 18. Пример расписания (общая память) Момент времени 1 H=(операция 1:загрузить а, процессор 1, момент1 ) H=(операция 2:загрузить
- 19. Ограничения на расписание В один и тот же момент времени один процессор не может выполнять разные
- 20. Определение времени выполнения параллельного алгоритма Время выполнения соответствует максимально длинному пути графа Соответствует максимально возможному моменту
- 21. Некоторые свойства параллельных алгоритмов Минимальное время выполнения параллельного алгоритма соответствует максимальной длине пути (диаметру) графа Для
- 22. Доказательство 2 Пусть есть расписание для получения минимально возможного времени пусть оно соответствует P процессорам Пусть
- 23. Доказательство 2 (продолжение) Рассмотрим, что будет если при выполнении того же расписания у нас число процессоров
- 24. Доказательство 2 (продолжение) Время выполнения алгоритма на p процессорах на i-м шаге Оценим время выполнения всего
- 25. Другие свойства Можно показать, что максимально возможное ускорение при неизменном количестве операций равно количеству процессоров Если
- 26. Использование описания с помощью графов Вычислительную схему необходимо выбирать с графом минимального диаметра (минимальное время наиболее
- 27. Факторы ограничения и повышения производительности Гипотеза Минского – принципиальная непараллельность алгоритма Закон Амдала – наличие принципиально
- 28. Гипотеза Минского Пусть программа имеет p последовательных участков Пусть переход на тот или другой участок выполняется
- 29. Закон Амдала (Amdahl, 1967) Наличие последовательных участков приводит к существенному снижению производительности Пусть есть система из
- 30. Иллюстрация закона Амдаля
- 31. Оценка времени выполнения Время выполнения последовательного алгоритма Время выполнения последовательной части параллельного алгоритма Время выполнения параллельной
- 32. Коэффициент ускорения и эффективность Ускорение Эффективность Время выполнения на паракомпьютере Оптимальное количество процессоров
- 33. Графики зависимостей
- 34. Примеры закона Амдала Централизованная схема вычислений Симметричная мультипроцессорная система И другие суперкомпьютеры Векторные, конвейерные процессоры Обмен
- 35. Централизованная схема Главный процессор раздает рабочим задачу Рабочие выполняют задачу и возвращают результат главному процессору Главный
- 36. SMP система Шина не может передавать данные от нескольких процессоров одновременно Шина – существенно последовательная часть
- 37. Конвейер Пока конвейер не заполнен параллельной обработки нет Заполнение конвейера – существенно последовательная часть алгоритма Prefetch
- 38. Закон Густафсона Другая формулировка закона Амдала Пусть параллельный алгоритм выполняется за время Tp Пусть β –
- 39. Оценка времени для закона Густафсона Время параллельной обработки Время последовательной обработки (параллельная часть выполняется в p
- 40. Связь или противоречие? Используются разные параметры Амдал – доля последовательных операций последовательного алгоритма Густафсон – доля
- 41. Практическое применение законов Амдала и Густафсона При очень малом количестве последовательных операций возможно очень большое ускорение
- 42. Гетерогенность Гомогенная система – все процессоры одинаковы Гетерогенная система – процессоры разные Большинство алгоритмов рассчитаны на
- 43. Дисбаланс нагрузки Если алгоритм, рассчитанный на гомогенную систему запустить на гетерогенной, то Более быстрые процессоры выполнят
- 44. Балансировка нагрузки Для решения проблемы используют балансировку нагрузки Статическая – на этапе запуска задачи учитывается производительность
- 45. Сверхлинейное ускорение Сверхлинейное ускорение – ускорение большее, чем количество процессоров Согласно рассмотренной теории – не возможно
- 46. Аппаратное сверхлинейное ускорение Возможно, если процессоры параллельной программы выполняют параллельный код с большей производительностью, чем последовательный
- 47. Алгоритмическое сверхлинейное ускорение Возможно, когда для выполнения параллельного алгоритма Необходимо выполнить меньше операций Не все операции
- 48. Пример: подбор пароля Пусть последовательный алгоритм поиска имеет p стадий Стадия1: Перебор географических названий Стадия2: Перебор
- 49. Параллельный алгоритм подбора Каждый процессор выполняет свою стадию Процессор1 : Стадия1 Процессор2: Стадия 2 …
- 50. Иллюстрация последовательный параллельный
- 51. Счастливый случай Как правило пользователи выбирают пароли, чтобы лучше запоминались Если на какой-либо стадии поиска поиск
- 52. Оценка времени последовательного алгоритма Пусть последовательный алгоритм найдет результат в k-й стадии через время Δt Время
- 53. Оценка времени параллельного алгоритма Процессор параллельной системы, который выполняет k-ю стадию сразу найдет нужный результат за
- 54. Ускорение Коэффициент ускорения Сверхлиненейное ускорение возможно, когда ускорение больше p Условие Если успешный подбор будет сразу
- 55. Сравнение факторов ограничения производительности
- 56. Выводы В большинстве случаев ускорение за счет распараллеливания не может быть больше количества процессоров Обычно ускорение
- 58. Скачать презентацию