- •Вычислительные процессы. Формальная модель. Свойства процесса.
- •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. Формальные модели параллельных вычислений
- •Модель мультипотоковых вычислений Блумова-Лейзерсона
- •Планирование мультипотоковых вычислений. «Жадный планировщик».
- •Планирование мультипотоковых вычислений. «Занятые листья».
- •Планирование мультипотоковых вычислений. «Похитетель работ».
Вычислительные процессы. Формальная модель. Свойства процесса.
Процесс сопоставляется так или иначе с выполнением программы. Существует 2 вида формализации процесса:
через состояния
Через события
Формализация понятия процесса-M={m1,m2,…,mn} идет отталкиваясь от понятия память.
Mi множество конечно. включ. мн-во элементов памяти, которые программно доступны.
Элементы памяти:
Регистры (кот. представл. на уровне архитектуры)
Память (ячейки памяти; 32 разрядный адрес, 4гб памяти)
Порты ввода/вывода (во многих-это отдельное адресное пространство)
– состояние в конкретный момент времени t.
– вектор состояния процессов
В векторе хранится все о программе (коды, данные, условия, счетчики-команд и т.д.).
Отложим ход выполнения программы на реальной оси времени (i-команда):
(рис. русием от руки. нет проги для рисования)
S- можем посмотреть и знаем вектор состояний. Промежуток между S0 и S1 для программиста не существенный.
С точки зрения программного продукта программа живет скачками в дискретном времени(опис. функц. простр.)
Свойства процессов:
Проц. функц. в дискр. времени.Если в Ti было Si, то в результате выполнения команды, которая в векторе состояния и результатов, ее является новый вектор состояния Ti~Si->Si+1. Это действ в результате Si->Si+1 в результате выполнения команды называется шагом процесса.F:Si->Si+1
Детерменированность Взяли Si и с ком F сделали Si+1 (c любого момента времени знаем, что будем делать). Y – трасса процессов. S0 полностью определяет S1 и т.д.(детермен). Y – конечна, если программа останавливается.
Повторяемость Px:S0->S1->S2->…->Sk->…->Sk+1->Sk+2->… P`x:S`k->S`k+1->S`k+2
Свойство прерываемости процесса
2. Система процессов. Независимые процессы. Взаимодействие процессов.
Система процессов – множество процессов. Процесс независим – если его вектор состояния не принимает с вектора состояния никакого другого вект процесса. Пересечение вектора состояний с вектором состояний другого процесса в этом случае является пыстым.
Sk – вектор состояния процесса
Множество процессов: P={P1,P2,…,Pk,…}
Любое Pj,Pk принадлежит P, Pj не равно Pk, пересечение Sk и Sj дает пустое множество.
Если некоторые процессы Pj,Pk имеют пересекающиеся векторы сост Sk и Sj, то они называются связанными.
Любое Pi,Pk принадлежит P, Pi не равно Pk, пересечение Sk и Si дает пустое множество.
Формы ввода-вывода в качестве элементов вектора состояний процессов в ЭВМ и спонтанно меняют свои состояния под влиянием процессов внешнего устройства.
Недетерменированная ситуация.
Процесс-посредник – служит для упорядоченного пересечения между двумя независимыми процессами.
Механизм «почтовых ящиков» – процесс посредник.
Представление взаимодействия ВМ по каналу связи системой процессов.
В общем случае взаимодействие процессов Px и Py может представлять собой некоторую цепочку процессов-посредников.