Содержание
- 2. Оценка трудоемкости операции передачи данных между 2 узлами кластера Подход 1: tн не зависит от объема
- 3. Оценка трудоемкости операции передачи данных между 2 узлами кластера Подход 2: Учитывается n - число пакетов,
- 4. Оценка трудоемкости операции передачи данных между 2 узлами кластера Предполагается Подготовка данных для 2,3, … пакетов
- 5. Оценка трудоемкости операции передачи данных между 2 узлами кластера Подход 2 – итоговое соотношение
- 6. Оценка трудоемкости операции передачи данных между 2 узлами кластера Подход 3 (упрощение подхода 1) – модель
- 7. Этапы разработки параллельных алгоритмов (распараллеливания) 1. Анализ общей схемы вычислений - для разделения на независимые (относительно)
- 8. Дополнительные предположения Равномерность загрузки всех CPU (балансировка). Минимизация коммуникационных взаимодействий между подзадачами. Возможность пересмотра шагов после
- 9. Этап 1 разработки параллельных алгоритмов 1. Разделение вычислений на независимые подзадачи Требования к подзадачам: Равные объемы
- 10. Два основных типа вычислительных схем, основанных на разделении данных: Ленточная схема Блочная схема
- 11. Сфера применимости – однотипная обработка большого набора данных: Матричные вычисления Численные методы решения уравнений в частных
- 12. Сетки, или решетки
- 13. Выполнение разных операций над одним набором данных – функциональный параллелизм Обработка разных запросов к БД Одновременное
- 14. Этап 2 разработки параллельных алгоритмов 2. Выделение информационных зависимостей Взаимосвязан с этапом 1: Выделение подзадач должно
- 15. Формы информационного взаимодействия Схемы передачи данных: Локальные – обмен для части подзадач (как правило, на соседних
- 16. Формы информационного взаимодействия Схемы передачи данных: Синхронные – операции передачи данных начинают выполняться только при готовности
- 17. Этап 3 разработки параллельных алгоритмов 3. Масштабирование Необходимо, если число подзадач ≠ количеству CPU Типы масштабирования:
- 18. Агрегация Укрупнение вычислений для уменьшения числа подзадач. В результате должно соблюдаться (см. этап 1) : Одинаковая
- 19. Декомпозиция Детализация вычислений (увеличение числа подзадач) для загрузки всех доступных CPU. Декомпозиция выполняется до базовых задач
- 20. Этап 4 разработки параллельных алгоритмов 4. Распределение подзадач между CPU. Необходимо для МВС с распределенной памятью.
- 21. Практические рекомендации Анализируем задачу для выделения подзадач, которые могут выполняться одновременно Изменяем структуру задачи для эффективного
- 22. Технологии параллельного программирования В основе может быть: Язык параллельного программирования. Прикладной программный интерфейс (API), реализованный с
- 23. Примеры технологий ПП OpenMP: директивы компилятора для простого параллельного программирования. MPI: библиотечные подпрограммы для реализации высокоэффективной
- 24. 3. Основы технологии OpenMP. Модель «fork-join». Классификация переменных. Основные директивы и их опции. Распараллеливание по данным
- 25. Технология разработки параллельных программ для МВС с общей памятью (OpenMP) OpenMP (Open Multi-Processing) — открытый развивающийся
- 26. Модель программирования OpenMP Разветвление-объединение (fork-join) Работа программы начинается с одного (корневого) потока, или нити (thread –
- 28. Скачать презентацию