- •Теории параллельных вычислений
- •Часть 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 Изучение алгоритмов работы с распределенными базами данных
3 Классификация параллельных вычислительных систем
1). По количеству потоков команд и данных в системе:
одиночный и множественный поток команд;
одиночный или множественный поток данных.
ОКОД (SISD) – одни команды, одни данные;
МКОД (MISD) – много команд, одни данные;
ОКМД (SIMD) – одна команда, много данных;
МКМД (MIMD) – много команд, много данных.
Таким образом, вычислительный процесс может быть представлен как воздействие одиночного или множественного потока команд на одиночный или множественный поток данных.
3.1 Система окод (sisd)
Графическая реализация системы ОКОД (SISD) представлена на рис. 3.1.
Рисунок 3.1 – Графическая реализация системы ОКОД (SISD)
Вычислительная система имеет один поток команд, каждая команда инициирует выполнение одной операции с одним потоком данных. Параллелизм возможен при одновременном функционировании ЦП и ВУ (мультипрограммирование).
3.2 Система мкод (misd)
Графическая реализация системы МКОД (MISD) первой структуры представлена на рис.3.2.
Рисунок 3.2 – Графическая реализация системы МКОД (MISD)
(1-ая структура)
Графическая реализация системы МКОД (MISD) второй структуры представлена на рис3.3.
Рисунок 3.3 – Графическая реализация системы МКОД (MISD)
(2-ая структура)
Таким образом, система МКОД - система конвейерной (магистральной) обработки векторов. Основа конвейерной обработки – разделение выполнения операций на несколько этапов с передачей данных от одного сегмента к другому. Таким образом, в конвейере могут одновременно выполняться несколько команд или операций.
Отличие структур систем МКОД от ОКОД:
Поток команд (одна команда) распределяется устройством управления на несколько элементарных операций, каждая операция выполняется на своем процессоре.
Устройство управления (УУ), считывая команду, определяет вычислительные действия, выполняемые АЛУ, то есть каждый сегмент реализует определенную команду из последовательностей.
Операции в конвейере называются векторными операциями. Вектор – массив данных. Векторная операция – это операция обработки массивов. Одно вычислительное действие (операция) применяется ко всем элементам массива.
Недостаток систем МКОД: так как конвейер определяет строгую последовательность действий, то отсутствует гибкость вычислительных систем, возможность построения на другие задачи.
3.3 Системы класса окмд (simd)
Графическая реализация системы ОКМД (SIMD) представлена на рис.3.4.
Рисунок 3.4. – Графическая реализация системы ОКМД (SIMD)
Системы ОКМД состоят из одного командного устройства и нескольких модулей обработки данных. Каждый процессорный элемент имеет собственное ОЗУ собственную ОП. Все процессоры выполняют одну и ту же команду (на основе сигналов от УУ, но обрабатывают «свои» локальные данные). В ОКМД системах реализован параллелизм данных.
Особенность систем ОКМД: управляющий модуль формирует команды по извлечению данных из модулей памяти конкретных ПЭ. Поэтому в ОКМД системах реализован принцип одинаковой структуры хранения данных об объекте.
Достоинства ОКМД систем:
универсальность ВС;
интерпретируемая программа может переопределяться, что не влияет на структуру системы.
