- •Тема 1. Вычислительные системы параллельной архитектуры 2
- •Программирование в вычислительных системах параллельной архитектуре
- •Тема 1. Вычислительные системы параллельной архитектуры
- •Определение понятия архитектуры вычислительных системах:
- •Компоненты архитектуры вс
- •Связь в алгоритмических и структурных аспектах параллельного вычисления
- •Тема : Параллельная обработка информации в Многомашинных и многопроцессорных вычислительных процессов
- •Архитектурный принцип организации обработки данных вс
- •Принципы архитектуры:
- •Принцип потока управления
- •Принцип потока данных
- •Принцип потока запросов (не эффективный (долгая), но экономный)
- •2. Вс с множественным потоком команд, одиночный поток данных. Вс системы класса mkod
- •Вычислительные системы класса simd. Векторные и векторно-конвейерные вс
- •Вычислительные системы класса mimd. Симметричные мультипроцессорные вс
- •Вычислительные системы класса mimd. Numa. Неоднородный доступ к памяти
- •Вычислительные системы класса mimd. Вс с массовой параллельной обработкой
- •Тема: Методы распараллеливания программ и вычислений
- •Этапы распараллеливания при использовании япф (ярусно-параллельная форма) для представления программ
- •Алгоритм распараллеливания ациклических участков
- •Особенности распределения выражения.
- •Тема: Распараллеливание циклических фрагментов программ
- •Пространство итераций
- •Метод гиперплоскостей
- •Статическое планирование динамического распараллеливания
- •Принципы динамического распараллеливания
- •Принцип неизбежности
- •Принцип возможности.
- •Тема: Операторы задания взаимодействий Операторы индивидуальных взаимодействий:
- •Условия корректности параллельных алгоритмов
- •Корректность параллельных алгоритмов с операторами групповых взаимодействий.
Вычислительные системы класса mimd. Numa. Неоднородный доступ к памяти
Основная память распределена. Единое адресное пространство.
Вычислительная система данной архитектуры состоит из набора узлов (которые могут содержать один или несколько процессоров) которые соединены между собой коммутатором либо быстродействующей сетью.
Операционная система
Память(какая и какой доступ)
Периферия (какая и какой доступ)
Вычислительные системы класса mimd. Вс с массовой параллельной обработкой
# отсутствие общей памяти заметно снижает скорость межпроцессорного обмена, поскольку нет общей среды для хранения данных, предназначенных для обмена между процессорами. Требуется специальная техника программирования для реализации обмена сообщениями между процессорами. # каждый процессор может использовать только ограниченный объем локального банка памяти.
1. ВС с общей памятью - сильно связанные задачи
2.ВС с передачей сообщений
Стремимся к однородной ВС.
Тема: Методы распараллеливания программ и вычислений
1. Этапы распараллеливания при использовании ЯПФ (ярусно-параллельная форма) для представления программ
2. Алгоритм распараллеливания ациклических участков
3. Особенности распараллеливания выражений.
Этапы распараллеливания при использовании япф (ярусно-параллельная форма) для представления программ
Ациклические участки занимают небольшое количество времени.
Универсальный минимальный набор операторов языка программирования с помощью которого можно составить любое вычисление составляют всего лишь два оператора:
оператор присваивания
оператор условного перехода ( if )
в этом случае при использовании этих двух операторов программа получится гораздо длиннее.
Данные программы легко представляются графически: узлы соответствуют операторам, а стрелки связи по управлению объектам
F
Требуется распечатать массив. А затем напечатать начальную и конечную границы массива уже в абсолютных адресах.
Вводятся в относительных (отличается от базового адреса в памяти), а печатаются в абсолютных (отличается от нулевого адреса в памяти)
Оператор присваивания = преобразователи
Оператор условного перехода = распознаватели.
В том случае, если стандартная схема программы не имеет циклов, то существует простая и эффективная техника распараллеливания программы.
Суть ее: «Подтягивание» совмещаемых операторов к «началу» программы и формирование на основе параллельных операторов совместных параллельных вычислений. Часто такую процедуру называют схемой приведения программы к ярусно-параллельной форме.
Вершины располагаются поярусно. В каждом ярусе такие графы, которые между собой не связаны. В ярус нижнего яруса имеют направлять свои вершины все ярусы выше уровня.
Есть одна вершина начала и одна вершина конца.
Выделим следующие зависимости между операторами схемы программы:
информационная зависимость – оператор В зависит от оператора А если одновременно выполняется три условия:
Оператор А вырабатывает некую переменную х которую использует опретор в В
Существует путь, который проходит через А и В
Оператор А является последним оператором перед В на этом пути, который оператор вырабатывает х
логическая зависимость
Оператор В зависит от оператора А логически, если существуют следующие обстоятельства
Путь из входной вершины проходящий через А и В
Путь из входной вершины проходящий через А совпадающий до А с первым путем, но отличающийся от первого пути следующим же оператором и минующий В, в таком случае оператор А распознаватель и он решает будет ли выполняться оператор В
конкуренционная зависимость - появляется тогда, когда перемещение операторов при сборке в ярусы может это перемещение вызвать конкуренцию над памятью, что может привести к затиранию каких-либо переменных до их использования. Необходимым и достаточным условием зависимости оператора А от оператора В является следующая зависимость. ( In (A) /\ Out (B)) \/ ( In (B) /\ Out (A)) \/ ( Out (B) /\ Out (B))
текст –> схема -> граф –> ярусно-параллельная форма
