- •Вычислительные процессы. Формальная модель. Свойства процесса.
- •2. Система процессов. Независимые процессы. Взаимодействие процессов.
- •Показатели параллельных вс и вычислений
- •4. Классы параллельных вс
- •5. Синхронная и асинхронная организация обмена сообщениями. Rdma.
- •Mpi: Стандарт mpi. Общие понятия. Области связи и коммуникаторы.
- •Общие процедуры mpi: Инициализация, Завершение.
- •Общие процедуры mpi: Определение общего числа параллельных процессов в группе. Определение номера процесса в группе.
- •Прием/передача сообщений между отдельными процессами (связь "точка-точка").
- •Посылка сообщения
- •Прием сообщения
- •Посылка и прием сообщения:
- •Mpi: Групповые (коллективные) взаимодействия. Рассылка целого сообщения процессам. Сборка данных от процессов. Групповые (коллективные) взаимодействия
- •Рассылка целого сообщения процессам
- •Сборка данных от процессов
- •Mpi: Групповые (коллективные) взаимодействия: Рассылка частей сообщения процессам. Сборка частей сообщения с процессов. Рассылка частей сообщения процессам
- •Выполнение глобальных операций с возвратом результатов во все процессы
- •Mpi: Синхронизация процессов. Синхронизация процессов
- •Mpi: Виртуализация топологии.
- •Декартова топология
- •Топология графа
- •Программирование мвс с общей памятью. Процессы и потоки в posix
- •OpenMp: Общие понятия. Область применения.
- •17. Директивы OpenMp: Директивы для определения параллельной области.
- •18. OpenMp: Директивы для распределения вычислений внутри параллельной области: Директива for.
- •19. OpenMp: Директивы для распределения вычислений внутри параллельной области: Директива sections. Директива single.
- •20. OpenMp: Директивы для распределения вычислений внутри параллельной области: Объединение директив parallel и for (sections).
- •Проблема тупиков в параллельных программных системах. Виды тупиков. Методы борьбы с тупиками в параллельных программных системах.
- •22.Централизованный метод обнаружения тупиков в параллельных программных системах
- •23. Децентрализованный метод обнаружения тупиков в параллельных программных системах
- •24.Предотвращение тупиков в параллельных программных системах
- •Синхронизация логического времени в параллельных программных системах
- •Синхронизация физического времени в параллельных программных системах
- •Распределение процессов по процессорам. Критерии и подходы. Распределение статической системы процессов.
- •28. Распределение процессов по процессорам. Централизованный метод “Up-Down”
- •29. Распределение процессов по процессорам. Иерархический алгоритм.
- •30. Распределение процессов по процессорам. Стохастические алгоритмы.
- •31. Формальные модели параллельных вычислений
- •Модель мультипотоковых вычислений Блумова-Лейзерсона
- •Планирование мультипотоковых вычислений. «Жадный планировщик».
- •Планирование мультипотоковых вычислений. «Занятые листья».
- •Планирование мультипотоковых вычислений. «Похитетель работ».
Синхронизация логического времени в параллельных программных системах
Используется метод Лампорта
Если Ti-время отправки сообщения, а Tj-момент получения сообщения, то событие посылки события придерживается событию получения сообщения по времени(Ti< Tj), иначе рассинхронизации
Правило: каждое сообщение снабжается меткой времени, на каждой стороне из предшеств сообщения считывается метка Ti, считвается значение локальны часов принятого времени Tj и они сравниваются между собой!
Ti< Tj временная логика событий не нарушена и часы синхронизированы
Ti>Tj часы разошлись, происходит корректировка часов принимающего модуля
Берется Ti+1 заносится в счетчик времени принимающего модуля, получаем новое Tj и восстанавливаем требуемую логику.
Синхронизация физического времени в параллельных программных системах
Любая ВМ имеет в себе свой счетчик времени, который обслуживает Локальная ОС и программы/проц. обращаются за получением времени из ЛОС.
ВМ с эталонным временем переодически рассылает сообщение с временной меткой. Если полученное время ЛОС отличается от локального временем больше допустимого расхождения, то ЛОС корректирует локлаьное время.
Проблема: разное время доставки сообщения с меткой времени => учет времени доставки:
- анализирующий параметр Δt
- определение Δt в ходе распространения меток времени
Опрос эталонных меток времени. ЛОС переодически опрашивает ВМ с эталонным временем. Разница в том, что ЛОС наблюдает момент запроса и ответа, и может посчитать время распространения.
В лок.счет.времени заносится значение, откорректированное по времени распространения:
t лок счетчика вр. = t эт. метки времени + (t2-t1)/2
“+” простота и применимость практически к любой структуре
Распределение процессов по процессорам. Критерии и подходы. Распределение статической системы процессов.
минимизация информацинных обменов между ВМ.
Разбить граф процессов на 2 непересекающихся подграфа, чтобы сечение было минимально => задача о мин сечении.
«-» На ВМ1 и ВМ2 будем иметь разные объемы вычисл. работы.
минимизация времени решения задачи.
Другое разбиение графа на ВМ.
Применяется, когда время работы каждого процесса точно известно.
балансировка загрузки процессоров в мультипроц. ВС
Минимизация разброса загрузки процессоров. Применяется, когда время работы каждого процесса не определено точно, или является случайным.
многокритериальная оптимизация (мин по нескольким параметрам)
Проблемы и ограничения:
работает только для статической системы – нет возм. постоянно опт-ть динам. систему
нечеткость характеристик систем процессов (время выполнения на практике обычно случайно или псевдослучайно)
проблема масштабируемости (выч.сложность зависит от кол-ва вершин в графе и от числа процессоров, в кот. осущ. размещение)
Здесь существует 3 фактора:
априорная неопределенность структуры системы процессов
динамика изменений системы процессов
неопределенность размеров системы процессов