Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОргЭВМ_лекция.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
303 Кб
Скачать
☆

30112012 Лекция 6 Параллелизм как основа высокопроизводительных вычислений

В основе архитектуры большинства современных ЭВМ лежит представление алгоритма задачи в виде программы последовательных вычислений («Принцип программного управления фон Неймана»). Ограничения такой архитектуры очевидны, и дальнейшее развитие средств вычислительной техники связано с переходом к параллельным вычислениям как в рамках одной машины, так и путем внедрения путем многопроцессорных систем.

Отличительной особенностью вычислительных систем является наличие в них средств, реализующих параллельную обработку информации. Методы и средства параллелизма зависят от того, на каком уровне он реализуется.

Уровни параллелизма

  1. Уровень заданий. Суть: несколько независимых заданий одновременно выполняются на разных процессорах, почти не взаимодействуя друг с другом. Процессы и задания могут взаимодействующими или независимыми друг от друга. Данный уровень реализуется в вычислительных системах с множеством процессоров, и каждый работает в многозадачном режиме. Уровень достижим и на одном процессоре.

  2. Уровень программ. Суть: Части одной задачи (или процесса) выполняются на множестве процессоров:

    1. В программе могут быть выделены независимые участки, которые допустимо выполнять параллельно.

    2. Параллелизм возможен в рамках одного программного цикла, если в нём отдельные итерации не зависят друг от друга.

Уровень достижим на параллельных вычислительных системах.

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

  2. Уровень битов (арифметический уровень). Суть: если биты одного слова обрабатываются параллельно, то речь идет о бит-параллельной операции. Данный уровень может быть реализован и в обычных процессорах.

Классификация параллельных вс

При рассмотрении вопроса об основе классификации ВС принято выделять два аспекта:

  1. Что представляет собой архитектура

  2. Насколько успешно позволяет архитектура решать определенный класс задач.

Наибольшее распространение получила классификация, предложенная в 1966 году Флинном. В основе классификации положено понятие «поток» - последовательность элементов (команд или данных), обрабатываемое процессором. В зависимости от количества потоков Флинн предложил четыре класса архитектур:

  1. SISD – Single Interaction Single Data – одиночный поток команд, одиночный поток данных.

Представители данного класса - классические фонНеймановские ЭВМ, где имеется только один поток команд, команды обрабатываются последовательно, и каждая команда инициирует одну операцию с одним потоком данных. К данному классу можно отнести так конвейерные и векторно-конвейерные ВС, если рассматривать вектор как неделимый элемент данных для соответствующей программы.

  1. MISD – множественный поток команд, одиночный поток данных.

В этом случае присутствует множество процессоров, которые обрабатывают один и тот же поток данных.

Примером могла бы служить ВС, на процессоры которой подается искаженный сигнал, и каждый из процессоров обрабатывает данный сигнал при помощи своего алгоритма фильтрации. Однако принято считать, что данный класс – пуст, поскольку нет ни одного действующего примера.

  1. SIMD – одиночный поток команд и множественный поток данных.

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

  1. MIMD – множественный поток команд, множественный поток данных.

Класс предполагает наличие в ВС множества устройств обработки команд, объединенных в комплекс, где каждое устройство работает со своими поток команд и данных. Класс включает в себя все возможные ВС.

Несмотря на недостатки (неспособность однозначно отнести ту или иную ВС к определенному классу), данная классификация используется при первоначальной оценке той или иной ВС.