
- •1.1. Развитие элементной базы вс.
- •1.2. Перспективы развития архитектур класса mpp (Massively Parallel Processor).
- •С хематический вид архитектуры с раздельной памятью
- •Линейная сеть процессоров
- •Повышение эффективности решения задач на линейной сети процессоров
- •Вычисление параллельного префикса
- •Использование гиперкуба для реализации параллельных алгоритмов.
- •Решение задачи быстрой сортировки на гиперкубе
- •2.1. Матричные вс с ассоциативной обработкой инф-ции на примере вс pepe.
- •2.2 Супер-эвм фирмы Cray Research.
- •1. Три типа различных регистров:
- •2. Параллельная обработка на нескольких уровнях.
- •3. Организация памяти.
- •2.3 Понятие метакомпьютинга. Способы организации метакомпьютера. Основные решаемые задачи. Примеры использования метакомпьютера для решения сложных задач.
- •3.1Транспьютеры. Практическое применение
- •3.2 Способы распределения задач по процессорам в мультипроцессорных вс.
- •3.3 Реализация фундаментальных вычислительных алгоритмов в линейной сети процессоров.
- •Линейная сеть процессоров
- •Повышение эффективности решения задач на линейной сети процессоров
- •Вычисление параллельного префикса
- •4.1 Вс на основе систолических и волновых матриц
- •Волновая матрица.
- •4.2 Возм-ые пути постр-ия высокопроизв-ых вс, отличных от фоннеймановского типа. Понятие семантического разрыва между стр-рой вс и реал-ой прогр-ой.
- •Концепция неограниченного параллелизма. Выявление микро- и макропараллелизма в алгоритмах.
- •5.1 Анализ производ-ти мультипроцессорных вс. Коэффициент ускорения вычислений. Проблемы достижимости линейного роста производительности.
- •5.2 Редукционная машина «Алиса». Пример выполнения фрагмента программы.
- •Параллельная редукция
- •6.1 Развитие новых методов вычислений Японская программа по развитию вычислительной техники:
- •Основной язык: Prolog
- •6.2 Показатели качества функционирования вс. Критерий Гроша. Критерий Минского. Двухпараметрический критерий. Проблемы достижения линейного роста производительности вс.
- •7.1 Достоинства и недостатки видов соединений вычислительных модулей в высокопроизводительных вс. Шина. Кольцо.
- •Линейная сеть процессоров
- •Повышение эффективности решения задач на линейной сети процессоров
- •7.3 Перспективы развития vpp (Vector Parallel Processor)
- •8.1 Достоинства и недостатки видов соединений вычислительных модулей в высокопроизводительных вс. Шина. Кольцо.
- •Одномерный путь передачи информации (отсутствует параллелизм передачи информации).
- •8.2 Особенности перехода к параллельным вычислениям. Проблемы организации параллельных вычислений.
- •9.1 Сравнительный анализ режимов и алгоритмов обработки информации в вс Сравнительные возможности двух методов организации параллельных вычислений: метод конвейеризации и метод параллелизма.
- •9.2 Принцип вычислений на основе управления потоком данных. Машины потоков данных (мпд). Архитектура. Достоинства и недостатки мпд.
- •Структура машины потоков данных. Данные хранятся в пакетах данных – в активных ячейках памяти. Ба – блок арифметический. Бл – блок логический. В активной памяти находятся пакеты, готовые к выполнению.
- •Функционирование машин потоков данных.
- •Организация сети передачи пакетов в мпд.
- •Достоинства мпд.
- •Недостатки мпд.
- •Обработка структур в мпд.
- •Структура мпд для обработки структур.
- •Структура устройства хранения и обработки.
- •9.3 Реализация фундаментальных вычислительных алгоритмов в матричной сети процессоров.
- •Решение задач линейной алгебры на матричной сети процессоров
- •10.1 Достоинства и недостатки видов соединений вычислительных модулей в высокопроизводительных вс. Шина. Кольцо.
- •Одномерный путь передачи информации (отсутствует параллелизм передачи информации).
- •10.2 Принцип вычислений на основе управления потоком данных. Машины потоков данных (мпд). Архитектура. Достоинства и недостатки мпд.
- •Данные хранятся в пакетах данных – в активных ячейках памяти. В активной памяти находятся пакеты, готовые к выполнению.
- •10.3 Принцип «разделяй и властвуй» и его использование для повышения эффективности выполнения вычислительных алгоритмов в сетях процессоров
- •11.1 Абстрактная архитектура вс. Основные модули и интерфейсы
- •Арифметический и командный конвейер
- •11.2 Особенности перехода к параллельным вычислениям. Проблемы организации параллельных вычислений.
- •11.3 Современные тесты для оценки производительности вс.
- •12.1 Диаграмма выполнения команды в машине фон Неймана. «Узкие места» при выполнении команды в последовательной вс. Методы устранения «узких» мест.
- •12.2 Редукционная g-машина. Пример выполнения фрагмента программы.
- •1. Три типа различных регистров:
- •2. Параллельная обработка на нескольких уровнях.
- •3. Организация памяти.
- •13.1 Арифметический и командный конвейер.
- •13.2 Организация тэговой памяти и оценка ее эффективности на примере мультипроцессорной вс Эльбрус.
- •Независимость программных средств от обрабатываемых данных. Программные средства реализованы только на логический уровень, поэтому:
- •Разработка высокопроизводительных систем класса мпд на основе ассоциативной памяти.
- •14.1. Способы выбора количества уровней совмещения (ступеней) в командном конвейере.
- •Тип решаемой задачи.
- •Стоимость организации вычислений.
- •14.2 Кластерные проекты (на примере мвс-1000 м). Коммуникационные технологии построения кластеров. Beowulf- кластеры. Beowulf- кластеры. The-hive.
- •14.3Теоретические модели параллельных систем. Ячеечные автоматы Неймана. Пространственная машина Унгера.
- •15.1 Достижения и перспективы развития вычислительной техники.
- •Японская программа по развитию вычислительной техники:
- •Задачи:
- •Существуют трансляторы с полуестетвенных языков
- •15.2 Способы распределения задач по процессорам в мультипроцессорных вс.
- •Организация супер-эвм с общей памятью (на примере hp Superdone). Архитектура ccNuma.
- •16.1 Классификационные схемы архитектур вс (по Флинну, по Энслоу). Достоинства и недостатки каждой из классификаций.
- •Многовходовые
- •Несимметричные(системы с неоднородными процессорами)
- •5.Вс с матричными (векторными) процессорами (Архитектура мрр)
- •16.2 Теоретические модели параллельных систем. Ячеечные автоматы Неймана. Пространственная машина Унгера
- •16.3Организация супер-эвм с общей памятью (на примере hp Superdone). Архитектура ccNuma.
- •17.1Достоинства и недостатки видов соединений вычислительных модулей в высокопроизводительных вс. Шина. Кольцо.
- •Одномерный путь передачи информации (отсутствует параллелизм передачи информации).
- •17.2 Вычислительные системы с векторной обработкой команд (структура). Диаграмма выполнения операций с векторной обработкой команд.
- •Вычисление параллельного префикса
- •63 Гусеничный алгоритм обработки элементов массива. Повышение эффективности решения задач на линейной сети процессоров
- •Вычисление параллельного префикса
- •65 Реализация фундаментальных вычислительных алгоритмов в матричной сети процессоров.
- •Решение задач линейной алгебры на матричной сети процессоров
- •Японская программа по развитию вычислительной техники:
- •Задачи:
- •Существуют трансляторы с полуестетвенных языков
- •2 Пути развития вычислительных систем (вс). Пять японских программ о развитии и внедрении средств вычислительной техники.
- •Использование гиперкуба для реализации параллельных алгоритмов.
- •Решение задачи быстрой сортировки на гиперкубе
- •Использование комбинаторов в редукционном вычислении
- •Процесс вычисления комбинаторного выражения
- •Реализация фундаментальных вычислительных алгоритмов в линейной сети процессоров.
- •Линейная сеть процессоров
- •Повышение эффективности решения задач на линейной сети процессоров
- •Вычисление параллельного префикса
- •20.1 Эволюция развития архитектур вс
- •20.2 Принципы векторизации последовательных программ. Критерии оценки векторной архитектуры.
- •2) Стартовое время конвейера.
- •Гусеничный алгоритм обработки элементов массива. Повышение эффективности решения задач на линейной сети процессоров
- •Вычисление параллельного префикса
- •Достоинства и недостатки видов соединений вычислительных модулей в высокопроизводительных вс. Шина. Кольцо.
- •Одномерный путь передачи информации (отсутствует параллелизм передачи информации).
- •21.2 Теоретические модели параллельных систем. Машина Холланда.
- •Решение задач линейной алгебры на систолических массивах.
- •22.2 Реализация принципа «сверхмультиобработки». Статический и динамический способ создания «общего кода».
- •22.3 СуперЭвм фирмы Fujitsu.
- •23.1 Сравнительные возможности двух методов организации параллельных вычислений: метод конвейеризации и метод параллелизма.
- •Факторы, влияющие на снижение производительности в системах с векторной обработкой команд
- •5. Зависимость по управлению
- •Основные технологии параллельного программирования.
- •62 Реализация фундаментальных вычислительных алгоритмов в линейной сети процессоров.
- •Линейная сеть процессоров
- •Повышение эффективности решения задач на линейной сети процессоров
- •Вычисление параллельного префикса
- •Вычислительные системы с векторной обработкой команд (структура). Диаграмма выполнения операций с векторной обработкой команд.
Вычисление параллельного префикса
i-й префикс – это какая-либо ассоциативная бинарная операция, выполняемая на элементах первых i процессоров. Для решения такого типа задач сначала необходимо получить:
1. операцию на первых двух элементах ;
2. - операция с участием трех процессоров;
и т.д. В конце выполнения операции параллельного префикса последний элемент содержит результат.
24.2
. Основные технологии параллельного программирования
Начало создания технологии параллельного программирования в 90-е годы ХХ века. Сегодня существует более 100 технологий, среди них такие как НОРМА, Linda, Occam, OpenMP, DVM и др.
Требования для использования параллельных технологий:
найти в программе ветви, которые должны выполняться параллельно,
распределить данные по нескольким локальным памятям,
согласовать распределенные данные с параллельностью вычислений.
Трудности реализации параллельных программ:
использование традиционных компиляторов;
зависимость между итерациями при выполнении программ.
Одной из возможностей повышения эффективности реализации таких программ является обеспечение возможности формирования подсказок компиляторам о том, какие ветви следует выполнять параллельно. Для реализации взаимодействия между различными частями программы необходимы специальные средства, которые реализуются в виде подсказок компилятору:
специальные директивы, которые можно указать в комментариях,
новые конструкции, то есть дополнительные служебные функции.
Технология OpenMP ориентирована на системы с общей памятью SMP. За основу при реализации берется последовательная программа, а для реализации параллельной программы используются специальные директивы.
А рхитектура программы следующая: Одна нить (thread) может быть разделена на несколько нитей, которые в последующем снова сводятся к одной. Одна и та же программа может быть выполнена как последовательно, так и параллельно. Общие переменные, используемые в программе всегда существуют в одном экземпляре. При этом переменные, используемые в отдельных секциях, могут быть локальными или разделяемыми.
О бщая идея технологии OpenMP заключается в том, что некоторые фрагменты текста программы можно объявлять параллельными.
! $OMP
! $OMP PARALLEL
<параллельный код программы>
! $OMP END PARALLEL
Для описания нитей используются директива THREAD.
Особенности OpenMP:
параллельные секции могут быть вложенными друг в друга,
число нитей параллельных секции можно менять при выполнении определенных условий,
возможно распределение работы между нитями
возможно распределение итераций по нитям с помощью директивы Шедьюла,
возможна организация параллелизма на уровне независимых фрагментов,
существуют различные типы переменных, которые могут быть в одном случае разделяемыми, а в другом – локальными.
Достоинства OpenMP:
пользователь может работать с единым текстом, как для последовательного, так и для параллельного выполнения программы,
компилятор последовательной машины не замечает директивы, так как они написаны в комментариях,
для специальных функции и переменных придуманы заглушки,
возможность постепенного распараллеливания программы и добавления новых директив, что упрощает программирование и отладку.
Технология DVM (Develop Virtual Machine).
DVM содержит 5 основных компонентов: компилятор; система поддержки выполнения параллельных программ; отладчик параллельных программ; анализатор эффективности программ; предсказатель производительности.
Основные принципы:
высокоуровневая модель выполнения программы
директивы или спецификации должны быть понятны для обычных компиляторов
основная работа по реализации модели должна быть выполнена динамически
Директивы формируются в виде строк комментариев
DVM $
! DVM $
C DVM $
DVM – это программа, которая выполняется на виртуальной многопроцессорной системе. Виртуальная машина – это машина с аппаратурой или программным обеспечением, которые предоставляются конкретному пользователю или конкретной программе – MPI-машина. В качестве аппаратуры используются многомерные линейки процессоров, число процессоров и способ их соединения задается непосредственно при запуске программы.
Используются два типа параллелизма:
независимые задачи или ветви,
в рамках каждой ветви допускаются параллельные циклы.
Все переменные программы размножаются по всем процессорам (на каждом процессоре создается своя копия).
Основные конструкции DVM.
Указанные элементы отображаются на определенную архитектуру.
PARALLEL – распараллеливание
MAP – отображение задач на конкретные массивы
DISTRIBUTE – распределение массивов (определение их типов, отображение)
С DVM $
DISTRIBUTE
<имя массива> формат [onto T(n)]
Поле формат может принимать одно из нескольких значений:
bLock – отображение равными блоками
Onto – отображение массива на ту часть линейки процессоров, но которую отображена n-ая задача вектора задач Т.
Данные, над которыми выполняется операция по технологии DVM, могут быть различных типов:
общие данные (данные вычисляются на одних процессорах, а используются на других) – соседние, удаленные, редукционные (глобальные операции),
частные данные.
24.3