Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пи_ответы.docx
Скачиваний:
8
Добавлен:
22.01.2023
Размер:
425.73 Кб
Скачать

8. Многомашинные и многопроцессорные вс. Классификация Флинна.

В настоящее время продолжает существовать тенденция повышения производительности микропроцессоров и систем, построенных на их основе. Повысить производительность системы можно благодаря двум основным факторам: использование более мощных элементов, параллельное выполнение большого числа операций.

Наиболее известной классификацией архитектур вычислительных систем является классификация по Майклу Флинну, которая была предложена в 1966 г. Классификация базируется на понятии потока, под которым понимается последовательность команд или данных, обрабатываемых процессором. На основе числа потоков команд и потоков данных выделяются четыре класса архитектур:

  • SISD (Single Instruction Stream / Single Data Stream). К такому классу относятся классические последовательные машины фон-неймановского типа. В таких машинах есть один поток последовательно обрабатываемых команд и один поток данных для выполнения операций. Машины данного класса фактически не относятся к параллельным системам.

  • SIMD (Single Instruction Stream / Multiple Data Stream). Подход множественного потока данных на единственный поток команд реализован в MMX- и SSE-расширениях современных процессоров, хотя он может быть реализован и на базе множества микропроцессоров. Все процессорные элементы в такой системе выполняют одну и ту же программу над множеством данных — элементов вектора. Такая система может обеспечить существенное повышение производительности только для тех задач, при решении которых все процессоры могут выполнять одну и ту же работу.

  • MISD (Multiple Instruction Stream / Single Data Stream). Подразумевается наличие в архитектуре системы множества процессоров, которые обрабатывают один и тот же поток данных. К такому классу могут относиться конвейерные машины.

  • MIMD (Multiple Instruction Stream / Multiple Data Stream). В системе этого класса каждый процессорный элемент выполняет свою программу достаточно независимо от других процессоров. Базовой моделью вычислений будет являться совокупность независимых процессоров, которые периодически обращаются к разделяемым данным. Представителями MIMD можно считать любые современные процессоры, так как они способны к многозадачности и к многопоточности в рамках одной задачи.

Большинство параллельных многопроцессорных вычислительных систем относится именно к классу MIMD.

Многопроцессорные ВС можно классифицировать по архитектурным особенностям:

  • векторно-конвейерные суперкомпьютеры;

  • симметричные мультипроцессорные системы (SMP);

  • системы с массовым параллелизмом (MPP);

  • кластерные системы.

Векторно-конвейерные компьютеры используют конвейерную обработку потока команд (как и все современные процессоры) и производят операции над целыми массивами (векторами) данных за счёт добавления в систему команд набора векторных операций. Основное назначение – это распараллеливание выполнения операторов цикла, в которых, обычно, и сосредоточена основная часть вычислительной работы. Векторные процессоры имеют более сложную структуры, как минимум из-за необходимости содержать в себе множество АЛУ для векторных операций. Длина векторов в современных векторных компьютерах составляет, как правило, 128 или 256 элементов.

Симметричные мультипроцессорные системы (Symmetric Multi-Processing, SMP) отличаются тем, что все процессорные элементы в такой системы имеют доступ к общей памяти посредством общей шины или коммутатора. Такой подход упрощает взаимодействие процессоров при разработке параллельных программ, так как все процессоры системы работают в едином адресном пространстве. Сложность реализации такой системы состоит в решении проблемы большого числа конфликтов при обращении к общей шине/памяти.

Системы с массовым параллелизмом (Massively Parallel Processing, MPP) представляют собой многопроцессорные системы с распределённой памятью, в которых с помощью коммуникационной среды объединяются однородные вычислительные узлы. Каждый из узлов обладает всем необходимым оборудованием для полноценного функционирования и на него может быть установлен облегчённый вариант ОС, поддерживающий основные функции ядра. В таком случае управление системой ведётся на отдельном управляющем компьютере. Каждый узел имеет прямой доступ только к своей локальной памяти, а данные из других узлов можно получить посредством механизма передачи сообщений в коммуникационной среде.

Кластерные системы являются продолжением идеи MPP-систем и представляют собой объединённые высокоскоростной сетью и управляемые специальным ПО обычные серийные компьютеры. Создание кластеров из компьютеров стало возможным с появлением сетевого оборудования и ПО, позволяющего реализовать механизм передачи сообщений над стандартными сетевыми протоколами. Небольшую кластерную систему можно создать даже на базе учебного класса. Объединять можно разнородные компьютеры от обычного ПК до мощного суперкомпьютера.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]