
- •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 Реализация фундаментальных вычислительных алгоритмов в линейной сети процессоров.
- •Линейная сеть процессоров
- •Повышение эффективности решения задач на линейной сети процессоров
- •Вычисление параллельного префикса
- •Вычислительные системы с векторной обработкой команд (структура). Диаграмма выполнения операций с векторной обработкой команд.
5.1 Анализ производ-ти мультипроцессорных вс. Коэффициент ускорения вычислений. Проблемы достижимости линейного роста производительности.
Оценивается
коэффициент ускорения:
T
О
– однопроцессорная система; TМ
– многопроцессорная система.
Желательно, чтобы наблюдался линейный рост производительности системы. Линейный рост производительности системы невозможен из-за конфликтов, которые возникают из-за обращения процессоров к ресурсам (память и пр.)
При добавлении к однопроцессорной системе второго процессора производительность возрастает на 60 – 80%, добавление третьего процессора – 30 – 50%
Один из радикальных способов увеличения производительности мультипроцессорной системы является введение принципа “ограниченного соседства”. Таким образом не вся память является доступной для всех процессов. Доступ к модулям памяти возможен со стороны соседних процессоров.
Недостатки: Сниженная гибкость системы.
5.2 Редукционная машина «Алиса». Пример выполнения фрагмента программы.
Машина Алиса – работает по принципу "машина потоков данных", т.е. оперирует пакетами. Структура пакета:
Id |
Mod |
Func |
Arg 1 |
Arg 2 |
… |
Arg n |
Sec |
Id – идентификатор пакета. Mod – режим работы:
! – активный;
# – ожидание;
~ – остальное.
Func – функция, которую выполняет пакет (либо встроенная (+, -), либо заданная пользователем). Arg i – аргументы. Sec – адрес возврата – указывает на адрес пакета, куда надо возвращать результат (n.m, где n – адрес пакета, m - поле). @n – адрес пакета.
*fxy=(*(+xy)(-xy))
f42
@a! |
f |
4 |
2 |
Замечание: т.к. операнды не являются редуцированными вызываются или создаются пакеты, в которых будут вычислены операнды
@a! |
* |
b |
c |
|
|
@b~ |
+ |
4 |
2 |
|
|
a /
\ b
c |
- |
4 |
2 |
|
|
@a#,2 |
* |
|
|
|
|
Ждет вторых операндов |
|
|
|||
@b! |
+ |
4 |
2 |
a.1 |
|
@c! |
- |
4 |
2 |
a.2 |
|
@a! |
* |
6 |
2 |
|
|
@b~ |
|
|
|
|
|
@c~ |
|
|
|
|
|
@a~ |
I |
12 |
|
|
I – формат данных, в которых находится результат
Структура Алисы:
Параллельная редукция
(*(+34)(-52))
Организация параллельной редукции осуществляется естественным образом. Если структура представлена в виде графа, то можно обрабатывать сам граф. Преимущества использования таких функциональных машин:
Графовые структуры представления вычислительного процесса являются наиболее оптимальной для машинных потоков данных.
Не требуется централизованная обработка информации, т.к. отдельные реденсы могут выполняться независимо друг от друга.
Продолжение обработки информации осуществляется не специализированными средствами, а по состоянию графа.
Не требуется синхронизация между управлением и функциональными блоками.
а
) б)
5.3
. Проблемы разработки параллельных алгоритмов. Сети процессоров.
Линейные сети процессоров.
Каждый процессор в такой системе многократно выполняет одну и ту же команду над последовательностью данных, проходящих через систему. Это значит, что если одна и та же последовательность команд должна выполняться над большим числом различных блоков данных, может быть построена линейная сеть длиной во всю последовательность команд и данные могут быть пропущены через процессоры системы П1-ПN
Устройство ввода ->П1->П2->П3->... ->ПN-> Устройство вывода
В такте 1 процессор П1 будет выполнять первую команду над первым блоком
данных. В такте 2 процессор П2 будет выполнять вторую команду над первым блоком данных, а П1-первую команду над вторым блоком данных, и т. д.
Если в конвйере имеется N процессоров, программа будет выполняться приблизительно в d*N раз быстрее, чем в однопроцессорной ЭВМ(d-коэффициент, учитывающий, что нет необходимости в выборке и декодировании следующей команды, поскольку каждый процессор осуществляет выборку один раз, а затем многократно повторяет выполнение одной и той же команды).
Наиболее высокопроизводительные из современных "супер-ЭВМ", например, Cray-1 и CDC-255 фирмы Seymour Cray содержат подобные конвейеры из примерно десятка очень мощных и дорогостоящих процессоров для выполнения векторных операций над массивами данных.
Наиболее мощный из построенных к концу 90х г. г. конвейеров-конвейер многопроцессорной системы CytoComputer, специализированный на выполнение операций обработки изображений. Каждый из процессоров машины CytoComputer гораздо проще и меньше, чем в ЭВМ Cray-1, но их общее число-113.
Используя новые кристаллы СБИС(один процессор в кристалле), проектируемые на будущее системы планируется построить из еще большего числа процессоров, которые могут быть объединены в конвейеры(теоретически произвольной длины).
Матричные сети процессоров.
В 80е г. г. были построены 3 очень большие двумерные системы. В их число входят:
-распределенный матричный процессор DAP(distributed array processor) размером 64Х64, спроектированный фирмой ICL.
-сотовый логический процессор изображений CLIP-4(cellular logic image processor) размером96Х96, разработанный в лондонском университетском колледже,
-и большой параллельный процессор MPP(massively parallel processor)размером 128Х128, спроектированный фирмами GoodYear-Aerospace и NASA Goddard.
В этих системах каждый из тысяч процессоров выполняет одну и ту же команду над различными потоками данных. Данные, которые необходимо обработать, и объем которых в идеале соответствует размерам матрицы процессоров, вводятся в систему таким образом, что каждый из процессоров имеет в собственной памяти одно подмножество таких данных, например, один элемент растра.
Затем каждый из процессоров обрабатывает данные, хранящиеся в собственной памяти, а также данные его ближайших соседей.
П-П-П-П-П-П-П-П
П-П-П-П-П-П-П-П
П-П-П-П-П-П-П-П
П-П-П-П-П-П-П-П
П-П-П-П-П-П-П-П
П-П-П-П-П-П-П-П
П-П-П-П-П-П-П-П
П-П-П-П-П-П-П-П
Двумерная матрица из 8Х8 процессоров. Каждый процессор соединен с 4мя соседними по горизонтали и вертикали (в других структурах процессоры могут быть соединены в четверки по диагоналям или каждый процессор может быть соединен с 6ю соседними). Каждый процессор непосредственно связан с общей памятью (на рисунке не показано), а также по изображенным линиям связи с памятью 4х соседних.
П-П-П-П-П-П-П-П
Ввод->R-R-R-R-R-R-R-R-> Вывод
М-М-М-М-М-М-М-М-
Матрица из 1Х8 процессоров, каждый из которых соединен с собственной памятью М, а также(через регистры R)с вводом и выводом(иначе это можно рассматривать как вид на приведенную выше структуру 8Х8 с одной стороны, показывающий, что каждый из процессоров(П) одномерной матрицы 1Х8 двумерной структуры размером 8Х8 соединяется с собственной памятью М и вводом-выводом через регистры).
Такие большие матричные системы возможны только благодаря тому, чтокаждый процессор выполнен настолько простым, насколько это возможно, и все они выполняют одну и ту же команду(т. е. необходим только один контроллер). При использовании СБИС-технологий будущего такие параллельные матричные системы будут становиться все более привлекательными из-за простоты и высокой повторяемости их модульной структуры.
Вариации более общих структур сетей.
Из-за ограниченных возможностей матриц, вызванных в основном соображениями стоимости (одноразрядные процессоры, единый контроллер и связи только с соседними процессорами) предпочтительно иметь дело с сетями (процессоров) других видов. Было разработано много типов сетей, включая кольцевые, n-кубические, решетчатые, звездные, "снежинка", чечевицеобразные, древовидные, х-древовидные, пирамидальные и множество структур, описываемых другими графами. В нашем случае граф-просто отображение набора подсистем, объединенных в единый мультипроцессор; иногда узлами графа являются отдельные процессоры или память, а не полные ЭВМ.
Однако таких систем в действительности было построено очень мало и только 2 из них с числом процессоров больше 50:Cm и Genoa machine. Число вариантов построения практически бесконечно, поскольку они включают все мыслимые способы соединения все возрастающего по мере совершенствования и удешевления технологии числа процессорных элементов.
Среди наиболее привлекательных сетей выделяются те, структура которых отражает выполняемый алгоритм. Наиболее интересными примерами таких структур являются древовидные и матрицы изменяемой конфигурации из обычных ЭВМ.
Деревья имеют хорошую структуру для большого числа задач, в которых информация сортируется, сравнивается или каким-либо образом уплотняется и реорганизуется, а также где она запоминается, извлекается или передается. Матрицы имеют хорошую структуру для локальной передачи информации.
Наилучшими считаются пирамидальные многопроцессорные системы, поскольку они очень эффективны не только при параллельной локальной обработке, но и при глобальных передачах и преобразованиях информации