- •Теории параллельных вычислений
- •Часть 1
- •Теории параллельных вычислений. Часть 1. Методические указания / Сост. К.В.Кротов - Севастополь: Изд-во СевНту, 2009.- 87 с.
- •Содержание
- •1 Параллельные вычисления. Вводные понятия
- •1.1 Параллелизм уровня заданий
- •Отличие мультипрограммирования от распараллеливания
- •Параллельность в режиме мультипрограммирования
- •1.2 Параллелизм уровня программ
- •Особенности параллелизма уровня программ
- •1.3 Параллелизм уровня команд
- •2 Эффективность функционирования параллельных вычислительных систем
- •Закон Амдала
- •2.2 Закон Густафсона
- •3 Классификация параллельных вычислительных систем
- •1). По количеству потоков команд и данных в системе:
- •3.1 Система окод (sisd)
- •3.2 Система мкод (misd)
- •3.3 Системы класса окмд (simd)
- •3.4 Системы мкмд (mimd)
- •2). Признак классификации в соответствии со степенью связанности элементов вс.
- •3.5 Матричные системы (окмд)
- •3.6 Системы с ансамблем процессоров (окмд)
- •3). Признак классификации вс на основе межпроцессорного обмена
- •Классификация систем типа мкмд (mimd)
- •Симметричные мультипроцессоры (smp)
- •3.7 Структурная организация smp-систем
- •3.9 Гибридные системы (numa-системы)
- •4 Вычислительные кластеры
- •Организация кластера
- •Магистральные системы (конвейерные)
- •5 Организация конвейерных вычислений. Конвейер команд
- •Организация конвейера команд
- •Временная диаграмма конвейера
- •5.1 Арифметический конвейер
- •Временные диаграммы
- •5.2 Понятие векторных вычислений (операций)
- •Упрощенная схема векторного процессора
- •Организация векторного процессора
- •Временные диаграммы обработки векторов
- •Структура реализации векторного процессора
- •6 Примеры систем, реализующих конвейерные вычисления
- •6.1 Вс с вычислительной магистралью и с реализацией модели «Память-память»
- •Особенности функционирования системы
- •6.2 Вс с арифметико-командной магистралью и с реализацией модели «Регистр – регистр»
- •Функциональная схема вычислительной системы
- •Секция (группа) функциональных устройств
- •Группа буферных регистров
- •Секция управления
- •7 Системы класса simd. Матричные системы
- •Упрощенная структурная организация вс
- •Организация и функционирование блоков матричной вс
- •7.1 Организация процессорного элемента (пэ)
- •7.2 Упрощенная организация системы (MasPar)
- •7.3 Контроллер массива
- •Особенности, связанные с управлением пэ
- •Функциональная схема
- •8 Системы класса mimd
- •Архитектуры mimd систем
- •9 Smp системы
- •Архитектура smp
- •10 Организация простых коммутаторов
- •Функциональная организация процессора (xmp)
- •11Составные перекрестные коммутаторы
- •11.1 Коммутатор Клоза
- •Функциональная организация связей
- •Принцип формирования коммутатора
- •11.2 Коммуникационная сеть omega
- •12 Примеры реализации smp систем (систем с общедоступной памятью)
- •21.3 Сервер hp 9000
- •13 Системы pvm. Общие понятия
- •13.1 Особенности реализации распределенных вычислений в pvm
- •13.2 Архитектура pvm
- •13.3 Понятие идентификатора задачи (Tid)
- •13.4 Модели передачи сообщений в pvm
- •13.5 Технология создания pvm-программ
- •13.6 Определение (задание) конфигурации вычислительного кластера (параллельной виртуальной машины)
- •13.7 Организация распределённого выполнения параллельных программ на пк вычислительного кластера с обменом сообщениями между ними
- •13.8 Управление конфигурацией вычислительного кластера средствами pvm
- •13.9 Взаимодействие распределено выполняемых процессов с помощью сообщений. Образование каналов передачи данных
- •14 Основные понятия распределенных вычислений
- •14.1 Основные понятия передачи сообщений по каналам
- •14.2 Схемы «Взаимодействующие равные» при обмене между процессами
- •Централизованное решение
- •Распределенное («симметричное ») решение
- •Кольцевое решение
- •14.3 Взаимодействие процессов по схеме «Клиент-сервер»
- •Общая схема взаимодействия между клиентом и сервером
- •Упрощенная схема взаимодействия клиента с ресурсами
- •Информационные структуры сервера
- •14.4 Модели взаимодействия распределенных процессов Модель «зонд-эхо»
- •Построение топологии вычислительного кластера
- •Шаги процесса формирования топологий (1 вариант)
- •Алгоритм формирования топологии кластера (вариант 2)
- •Особенности построения топологии кластера с циклами
- •Построение остовного дерева кластера
- •15 Алгоритм распределенной синхронизации доступа к обзщим ресурсам
- •15.1 Распределенные семафоры
- •Понятие логических часов в распределенных семафорах
- •15.2 Алгоритм передачи маркера
- •16 Изучение алгоритмов работы с распределенными базами данных
Временная диаграмма конвейера
Временная диаграмма конвейера команд представлена на рис. 5.2.
Этап |
1 |
2 |
3 |
4 |
5 |
6 |
ФАК |
K1 |
K2 |
K3 |
K4 |
K5 |
K6 |
ВК |
|
K1 |
K2 |
K3 |
K4 |
K5 |
ДКО |
|
|
K1 |
K2 |
K3 |
K4 |
ФАО |
|
|
|
K1 |
K2 |
K3 |
ВО |
|
|
|
|
K1 |
K2 |
АЛО |
|
|
|
|
|
K1 |
Рисунок 5.2 - Временная диаграмма конвейера команд
Вывод: если команда разделяется на L этапов, то в конвейере одновременно находится L-команд.
5.1 Арифметический конвейер
Арифметический конвейер обеспечивает операции над числами с плавающей запятой (ПЗ).
Пример: сложение чисел с ПЗ (Рис. 5.3).
Этапы:
Сравнение порядков (СП);
Выражение мантисс по числу с наибольшим порядком (ВМ);
Сложение мантисс (СМ);
Нормализация с учетом единицы переноса (Н).
Результат приводится к стандартно заданной форме. Каждый этап выполняется своим сегментным конвейером.
Арифметический конвейер – конвейер АЛУ.
Рисунок 5.3 – Пример сложения чисел с ПЗ
Временные диаграммы
Таблица № 1 – Временные диаграммы задачи сложения чисел с плавающей запятой
Этап |
1 |
2 |
3 |
4 |
5 |
… |
i |
… |
n |
n+1 |
n+2 |
n+3 |
СП |
a1b1 |
a2b2 |
a3b3 |
a4b4 |
a5b5 |
|
aibi |
|
anbn |
|
|
|
ВМ |
|
a1b1 |
a2b2 |
a3b3 |
a4b4 |
|
ai-1bi-1 |
|
an-1bn-1 |
anbn |
|
|
СМ |
|
|
a1b1 |
a2b2 |
a3b3 |
|
ai-2bi-2 |
|
an-2bn-2 |
an-1bn-1 |
anbn |
|
Н |
|
|
|
C1 |
C2 |
|
C i-3 |
|
cn-3 |
cn-2 |
cn-1 |
cn |
Вывод: таким образом, если L число сегментов, то одновременно в наборе находятся L наборов данных.
При большой последовательности данных эффективность конвейера выше, так как снижается неэффективное время, связанное с заполнением и опустошением конвейера. Блок (последовательность) обрабатываемых в конвейере данных называется вектором.
