Содержание
- 2. План лекции 2008 Обзор курса Модели программирования последовательная и параллельная Программные инструменты параллельного программирования Литература и
- 3. Обзор курса 2008 Аннотация Курс «Основы параллельного программирования с использованием MPI» посвящен основам разработки параллельных программ
- 4. Обзор курса 2008 Темы курса: краткий обзор моделей параллельного программирования и программных реализаций этих моделей; архитектура
- 5. О лекторе 2008 Немнюгин Сергей Андреевич Кандидат физико-математических наук, доцент кафедры вычислительной физики Санкт-Петербургского государственного университета.
- 6. Лекция 1 2008 Аннотация В первой лекции обсуждаются последовательная и параллельная модели программирования. Рассматриваются различные парадигмы
- 7. Последовательная и параллельная модели программирования 2008
- 8. Идея Флинна 2008
- 9. SISD-архитектура SIMD-архитектура MIMD-архитектура
- 10. Что происходит с данными внутри программы
- 11. Последовательная программа
- 12. Параллельная программа
- 13. Общий случай Последовательный+распараллеливаемый компоненты
- 14. Последовательная модель программирования Последовательную модель программирования характеризуют: невысокая производительность; применение стандартных языков программирования; хорошая переносимость.
- 15. Параллельная модель программирования Параллельную модель программирования характеризуют: возможность добиться более высокой производительности; применение специальных приемов и
- 16. Параллельная модель программирования Повышенная трудоёмкость параллельного программирования связана с тем, что программист должен заботиться: об управлении
- 17. Параллельная модель программирования Две парадигмы параллельного программирования параллелизм данных; параллелизм задач.
- 18. Параллельная модель программирования Параллелизм данных Подход, основанный на параллелизме данных, характеризуется тем, что: одна операция применяется
- 19. Параллельная модель программирования Параллелизм данных От программиста требуется: задание опций векторной или параллельной оптимизации транслятору; задание
- 20. Параллельная модель программирования Параллелизм задач Параллелизм данных характеризуется тем, что: вычислительная задача разбивается на несколько относительно
- 21. Параллельная модель программирования Параллелизм задач Достоинства подхода: большая гибкость и большая свобода, предоставляемая программисту в разработке
- 22. Разработка параллельной программы/алгоритма
- 24. Разработка параллельной программы/алгоритма Декомпозиция На этом этапе выполняются анализ, оценка возможности распараллеливания. Задача и связанные с
- 25. Разработка параллельной программы/алгоритма Декомпозиция Независимость независимость по данным - данные, обрабатываемые одной частью программы, не модифицируются
- 26. Разработка параллельной программы/алгоритма Проектирование коммуникаций Типы коммуникаций: локальные - каждая подзадача связана с небольшим набором других
- 27. Разработка параллельной программы/алгоритма Проектирование коммуникаций Рекомендации по проектированию коммуникаций: количество коммуникаций у подзадач должно быть примерно
- 28. Разработка параллельной программы/алгоритма Укрупнение На этапе укрупнения учитывается архитектура вычислительной системы, при этом часто приходится объединять
- 29. Разработка параллельной программы/алгоритма Организация параллельной программы Простая схема хозяин/работник (Master/slave) главная задача отвечает за размещение подчиненных
- 30. Разработка параллельной программы/алгоритма Организация параллельной программы Иерархическая схема хозяин/работник (Master/slave) Подчиненные задачи разделены на непересекающиеся подмножества
- 31. Разработка параллельной программы/алгоритма
- 32. Многопоточные программы Поток (нить) представляет собой последовательный поток управления (последовательность команд) в рамках одной программы. При
- 33. Многопоточные программы При разработке многопоточных приложений возникают следующие проблемы: гонки за данными; блокировки; несбалансированность загрузки. Гонки
- 34. Многопоточные программы Блокировка возникает, если поток ожидает выполнение условия, которое не может быть выполнено. Обычно возникновение
- 35. Программные инструменты параллелизма 2008
- 36. 2008 OpenMP - стандарт программного интерфейса приложений для параллельных систем с общей памятью. Поддерживает языки C,
- 37. 2008 Корпорация Intel предлагает Intel ® Cluster OpenMP кластерный вариант OpenMP, предназначенный для программирования для систем
- 38. 2008 POSIX Threads - стандарт POSIX реализации потоков (нитей) выполнения, определяющий API для создания и управления
- 39. 2008 В Microsoft Windows имеется возможность разработки многопоточных приложений на C++. Ссылка http://msdn.microsoft.com Windows API
- 40. 2008 PVM (Parallel Virtual Machine) - позволяет объединить разнородный набор компьютеров, связанных сетью, в общий вычислительный
- 41. 2008 Message Passing Interface (MPI) - Интерфейс Передачи Сообщений, спецификация разработанная в 1993—1994 годах группой MPI
- 42. 2008 MPICHameleon (MPICH) является свободно распространяемой реализацией MPI. Официальный сайт MPICH http://www-unix.mcs.anl.gov/mpi/mpich1 Message Passing Interface (MPI)
- 43. 2008 В этой лекции мы рассмотрели: особенности последовательной и параллельной моделей программирования; наиболее известные инструменты параллельного
- 44. 2008 В чём вы видите ограничения последовательной модели программирования? Какие достоинства и недостатки у подходов, основанных
- 45. 2008 Следуя приведённым в лекции ссылкам, познакомьтесь с основными особенностями наиболее известных инструментов разработки параллельных и
- 46. Литература 2008 С.Немнюгин, О.Стесик. Параллельное программирование для многопроцессорных вычислительных систем. – СПб.: БХВ-Петербург, 2002. С.Немнюгин, М.Чаунин,
- 47. Литература 2008 С.Немнюгин, О.Стесик. Современный Фортран. Самоучитель. – СПб.: БХВ-Петербург, 2004. В.В.Воеводин, Вл.В. Воеводин Вл.В. Параллельные
- 49. Скачать презентацию