🗊Презентация Шаблоны параллельного проектирования

Нажмите для полного просмотра!
Шаблоны параллельного проектирования, слайд №1Шаблоны параллельного проектирования, слайд №2Шаблоны параллельного проектирования, слайд №3Шаблоны параллельного проектирования, слайд №4Шаблоны параллельного проектирования, слайд №5Шаблоны параллельного проектирования, слайд №6Шаблоны параллельного проектирования, слайд №7Шаблоны параллельного проектирования, слайд №8Шаблоны параллельного проектирования, слайд №9Шаблоны параллельного проектирования, слайд №10Шаблоны параллельного проектирования, слайд №11Шаблоны параллельного проектирования, слайд №12Шаблоны параллельного проектирования, слайд №13Шаблоны параллельного проектирования, слайд №14Шаблоны параллельного проектирования, слайд №15Шаблоны параллельного проектирования, слайд №16Шаблоны параллельного проектирования, слайд №17Шаблоны параллельного проектирования, слайд №18Шаблоны параллельного проектирования, слайд №19Шаблоны параллельного проектирования, слайд №20Шаблоны параллельного проектирования, слайд №21Шаблоны параллельного проектирования, слайд №22Шаблоны параллельного проектирования, слайд №23Шаблоны параллельного проектирования, слайд №24Шаблоны параллельного проектирования, слайд №25Шаблоны параллельного проектирования, слайд №26Шаблоны параллельного проектирования, слайд №27Шаблоны параллельного проектирования, слайд №28Шаблоны параллельного проектирования, слайд №29Шаблоны параллельного проектирования, слайд №30Шаблоны параллельного проектирования, слайд №31Шаблоны параллельного проектирования, слайд №32Шаблоны параллельного проектирования, слайд №33Шаблоны параллельного проектирования, слайд №34Шаблоны параллельного проектирования, слайд №35Шаблоны параллельного проектирования, слайд №36Шаблоны параллельного проектирования, слайд №37Шаблоны параллельного проектирования, слайд №38Шаблоны параллельного проектирования, слайд №39Шаблоны параллельного проектирования, слайд №40Шаблоны параллельного проектирования, слайд №41Шаблоны параллельного проектирования, слайд №42Шаблоны параллельного проектирования, слайд №43

Содержание

Вы можете ознакомиться и скачать презентацию на тему Шаблоны параллельного проектирования. Доклад-сообщение содержит 43 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Шаблоны параллельного проектирования
Описание слайда:
Шаблоны параллельного проектирования

Слайд 2





Этапы разработки параллельной программы
Описание слайда:
Этапы разработки параллельной программы

Слайд 3





Поиск параллельности (1/4)
Нужно определить участки программы, которые можно выполнять параллельно
Задачи должны иметь начало и окончание
Количество задач может меняться
Задач должно достаточно для получения ускорения (одна задача это не очень хорошо)
Работает закон Амдала
Описание слайда:
Поиск параллельности (1/4) Нужно определить участки программы, которые можно выполнять параллельно Задачи должны иметь начало и окончание Количество задач может меняться Задач должно достаточно для получения ускорения (одна задача это не очень хорошо) Работает закон Амдала

Слайд 4





Выбор шаблона реализации (2/4)
Проектирование структуры параллельной программы
Закладывается возможность масштабирования
Выбор инструментов реализации
Отдельно задачи, отдельно исполнители
Описание слайда:
Выбор шаблона реализации (2/4) Проектирование структуры параллельной программы Закладывается возможность масштабирования Выбор инструментов реализации Отдельно задачи, отдельно исполнители

Слайд 5





Реализация алгоритма (3/4)
Синхронизация
Взаимодействие
Описание слайда:
Реализация алгоритма (3/4) Синхронизация Взаимодействие

Слайд 6





Выполнение (4/4)
Общие ресурсы
Гонки
Описание слайда:
Выполнение (4/4) Общие ресурсы Гонки

Слайд 7





Шаблоны параллельного программирования
1977 вышла книга «Язык шаблонов. Города. Здания. Сооружения.»
Описание слайда:
Шаблоны параллельного программирования 1977 вышла книга «Язык шаблонов. Города. Здания. Сооружения.»

Слайд 8





Шаблоны в строительстве
Описание слайда:
Шаблоны в строительстве

Слайд 9





Шаблоны в строительстве
Описание слайда:
Шаблоны в строительстве

Слайд 10





Шаблоны в программировании
Adapter
Builder
Decorator
Facade
Flyweight
…
Описание слайда:
Шаблоны в программировании Adapter Builder Decorator Facade Flyweight …

Слайд 11





Patterns for parallel programming
Patterns for Parallel
Programming. Mattson,
Sanders, and Massingill
(2005).
Описание слайда:
Patterns for parallel programming Patterns for Parallel Programming. Mattson, Sanders, and Massingill (2005).

Слайд 12





Начало книги
Описание слайда:
Начало книги

Слайд 13





Что параллелить?
Вот алгоритм – что можно вычислить параллельно?
Описание слайда:
Что параллелить? Вот алгоритм – что можно вычислить параллельно?

Слайд 14





Параллелизм задач
Описание слайда:
Параллелизм задач

Слайд 15





Параллельные задачи
Описание слайда:
Параллельные задачи

Слайд 16





Гибкость (1/3)
Не привязывайтесь к железу
Описание слайда:
Гибкость (1/3) Не привязывайтесь к железу

Слайд 17





Гибкость (2/3)
Задачи не должны решать какие данные им обрабатывать
Описание слайда:
Гибкость (2/3) Задачи не должны решать какие данные им обрабатывать

Слайд 18





Гибкость (3/3)
Задачи должны уметь считать разные объемы данных
Описание слайда:
Гибкость (3/3) Задачи должны уметь считать разные объемы данных

Слайд 19





Эффективность (1/2)
Задачи должны эффективно использовать ресурсы
Описание слайда:
Эффективность (1/2) Задачи должны эффективно использовать ресурсы

Слайд 20





Эффективность (2/2)
Создавайте независимые задачи
Описание слайда:
Эффективность (2/2) Создавайте независимые задачи

Слайд 21





Простота (1/1)
Понятность
Читаемость
Шаблоны ООП
Стили кодирования
Тестирование
Описание слайда:
Простота (1/1) Понятность Читаемость Шаблоны ООП Стили кодирования Тестирование

Слайд 22





Шаблоны параллелизма по задачам
Описание слайда:
Шаблоны параллелизма по задачам

Слайд 23





Task parallelism (1/2)
Примеры
Ray tracing - вычисление каждого луча независимо по данным и последовательности
Молекулярная физика - движение несвязанных частиц, слабое взаимодействие
Основные особенности
Задачи связаны с определенными циклами
Список задач в основном известен в начале вычисления
Не обязательно все задачи должны быть выполнены для получения части конечного решения
Описание слайда:
Task parallelism (1/2) Примеры Ray tracing - вычисление каждого луча независимо по данным и последовательности Молекулярная физика - движение несвязанных частиц, слабое взаимодействие Основные особенности Задачи связаны с определенными циклами Список задач в основном известен в начале вычисления Не обязательно все задачи должны быть выполнены для получения части конечного решения

Слайд 24





Task parallelism (2/2)
Используйте очереди:
RabbitMQ
MSMQ
Amazon SQS
IronMQ
StormMQ
Windows Azure Queues
Описание слайда:
Task parallelism (2/2) Используйте очереди: RabbitMQ MSMQ Amazon SQS IronMQ StormMQ Windows Azure Queues

Слайд 25





Divide and Conquer
Задачи выполняют разные действия
Важна последовательность задач
Описание слайда:
Divide and Conquer Задачи выполняют разные действия Важна последовательность задач

Слайд 26





Параллелизм данных
Описание слайда:
Параллелизм данных

Слайд 27





Параллелизм данных
Основные вычисления выполняются на большом объеме данных;
Одни и те же операции применяются в разным частям данных.
Описание слайда:
Параллелизм данных Основные вычисления выполняются на большом объеме данных; Одни и те же операции применяются в разным частям данных.

Слайд 28





Параллелизм данных
Гибкость
Данные должны хорошо дробиться, чтобы поддерживать высокий уровень параллелизма
Эффективность
Размер данных должен обеспечивать достаточное количество вычислений
Простота
Сложные структуры данных сложно отлаживать и поддерживать
Описание слайда:
Параллелизм данных Гибкость Данные должны хорошо дробиться, чтобы поддерживать высокий уровень параллелизма Эффективность Размер данных должен обеспечивать достаточное количество вычислений Простота Сложные структуры данных сложно отлаживать и поддерживать

Слайд 29





Геометрическое разбиение
Хорошо работает на таких типах данных как:
Массив
Список
Справочник
Описание слайда:
Геометрическое разбиение Хорошо работает на таких типах данных как: Массив Список Справочник

Слайд 30





Способы геометрического разбиения
Описание слайда:
Способы геометрического разбиения

Слайд 31





Рекурсивное разбиение
Хорошо работает на таких типах данных как:
Массив
Список
Деревья
Графы
Описание слайда:
Рекурсивное разбиение Хорошо работает на таких типах данных как: Массив Список Деревья Графы

Слайд 32





Рекурсивное разбиение
Описание слайда:
Рекурсивное разбиение

Слайд 33





Стратегия выполнения
Описание слайда:
Стратегия выполнения

Слайд 34





Какой стратегии придерживаться
Окна есть, работники есть..
- Чо делать то?
Описание слайда:
Какой стратегии придерживаться Окна есть, работники есть.. - Чо делать то?

Слайд 35





SPMD
Single program multiple data
Каждый процесс выполняет одну задачу, но со своим набором данных
Описание слайда:
SPMD Single program multiple data Каждый процесс выполняет одну задачу, но со своим набором данных

Слайд 36





Master/Worker (1/2)
Мастер
создаёт пул задач и исполнителей. Следит, чтобы исполнители работали, а задачи создавались.
Описание слайда:
Master/Worker (1/2) Мастер создаёт пул задач и исполнителей. Следит, чтобы исполнители работали, а задачи создавались.

Слайд 37





Master/Worker (2/2)
Исполнитель
Получает задачу из очереди задач
Выполняет задачу
Помечает задачу как исполненную
Идемпотентные задачи рулят
Описание слайда:
Master/Worker (2/2) Исполнитель Получает задачу из очереди задач Выполняет задачу Помечает задачу как исполненную Идемпотентные задачи рулят

Слайд 38





Fork/Join
Похож на Master/Worker
SPMD
Более легковесная версия
Применяется к потокам, а не процессам
Описание слайда:
Fork/Join Похож на Master/Worker SPMD Более легковесная версия Применяется к потокам, а не процессам

Слайд 39





Loop parallelism
Легкий способ ускорения линейной программы
Используйте профилировщик
Есть готовые решения - OpenMP
Описание слайда:
Loop parallelism Легкий способ ускорения линейной программы Используйте профилировщик Есть готовые решения - OpenMP

Слайд 40





Pipeline
Описание слайда:
Pipeline

Слайд 41





Event based
Использует другие шаблоны
Примитивы синхронизации – Event
Сложно отлаживать
Используйте логирование
Описание слайда:
Event based Использует другие шаблоны Примитивы синхронизации – Event Сложно отлаживать Используйте логирование

Слайд 42





Стратегии и шаблоны
Описание слайда:
Стратегии и шаблоны

Слайд 43





Стратегии и реализация
Описание слайда:
Стратегии и реализация



Похожие презентации
Mypresentation.ru
Загрузить презентацию