92.18K
Category: informaticsinformatics

Классификация вычислительных систем

1.

Классификация
вычислительных систем

2.

В соответствии с наиболее известной
классификацией архитектур ВС,
предложенной в 1966 году М.Флинном и
базирующейся на понятии потока, под
которым понимается последовательность
элементов, команд или данных,
обрабатываемая процессором, выделают
четыре типа архитектур ВС: SISD, MISD,
SIMD, MIMD:

3.

SISD
(single instruction, single data)
• - одиночный поток команд и одиночный
поток данных. К этому классу относятся,
прежде всего, классические последовательные
машины, или иначе, машины фоннеймановского типа, например, PDP-11 или
VAX 11/780. В таких машинах есть только один
поток команд, все команды обрабатываются
последовательно друг за другом и каждая
команда инициирует одну операцию с одним
потоком данных.

4.

SIMD
(single instruction, multiple data)
• - одиночный поток команд и множественный
поток данных. В архитектурах подобного рода
сохраняется один поток команд, включающий,
в отличие от предыдущего класса, векторные
команды. Это позволяет выполнять одну
арифметическую операцию сразу над
многими данными - элементами вектора. В
таких системах обычно очень много модулей
обработки (от 1024 до 16384), которые и
позволяют за одну инструкцию обрабатывать
несколько данных.

5.

MISD
(multiple instruction, single data)
• - множественный поток команд и одиночный
поток данных. Определение подразумевает
наличие в архитектуре многих процессоров,
обрабатывающих один и тот же поток данных.
Однако ни Флинн, ни другие специалисты в
области архитектуры компьютеров до сих пор
не смогли представить убедительный пример
реально существующей вычислительной
системы, построенной на данном принципе.

6.

MIMD
(multiple instruction, multiple data)
• - множественный поток команд и
множественный поток данных. Этот класс
предполагает, что в вычислительной системе
есть несколько устройств обработки команд,
объединенных в единый комплекс, каждое из
которых работает со своим потоком команд и
данных. Основное отличие этих систем от
многопроцессорных SIMD-машин состоит в
том, что инструкции и данные связаны, потому
что они относятся к одной и той же
исполняемой задаче.

7.

Классификация Джонсона
Е. Джонсон предложил проводить
классификацию MIMD-архитектур на
основе структуры памяти и
реализации механизма
взаимодействия и синхронизации
между процессорами.

8.

• По структуре оперативной памяти существующие
вычислительные системы делятся на две большие
группы: либо это системы с общей памятью, прямо
адресуемой всеми процессорами, либо это системы
с распределенной памятью, каждая часть которой
доступна только одному процессору.
Одновременно с этим и для межпроцессорного
взаимодействия существуют две альтернативы:
через разделяемые (общие) переменные или с
помощью механизма передачи сообщений. Исходя
из таких предположений, можно получить четыре
класса MIMD-архитектур, уточняющих систематику
Флинна

9.

общая
Память
GMSV - General Memory-Shared variables
(Общая память - разделяемые переменные)
Класс 1 ≪Системы с разделяемой памятью≫
GMMP - General Memory, Message propagation
(Общая память - передача сообщений)

10.

Распределенная Память
DMSV - Distributed Memory, Shared variables
(Распределенная память - разделяемые
переменные)
Класс 2. ≪Гибридная архитектура≫
DMMP - Distributed Memory, Message
propagation) (Распределенная память - передача сообщений)
Класс 3 ≪Архитектуры с передачей сообщений≫

11.

Классификация Базу
По мнению А. Базу (A. Basu), любую
параллельную вычислительную систему
можно однозначно описать
последовательностью решений, принятых на
этапе ее проектирования, а сам процесс
проектирования представить в виде дерева.
Корень дерева — это вычислительная система
и последующие ярусы дерева, фиксируя
уровень параллелизма, метод реализации
алгоритма, параллелизм инструкций и способ
управления, последовательно дополняют друг
друга, формируя описание системы.

12.

Классификация Дункана
• конвейеризацию на этапе подготовки и выполнения команды
(instruction pipelining), т. е. частичное перекрытие таких этапов, как дешифрация команды, вычисление адресов операндов, выборка операндов, выполнение команды и сохранение
результата;
• наличие в архитектуре нескольких функциональных устройств, работающих независимо, в частности, возможность
параллельного выполнения логических и арифметических
операций;
• наличие отдельных процессоров ввода/вывода, работающих
независимо и параллельно с основными процессорами.

13.

Классификация Кришнамарфи
для классификации параллельных
вычислительных систем предлагает
использовать четыре характеристики,
похожие на характеристики классификации
А. Базу :
• • степень гранулярности;
• • способ реализации параллелизма;
• • топологию и природу связи процессоров;
• • способ управления процессорами.

14.

Классификация Скилликорна
Предлагается рассматривать архитектуру любого компьютера,
как абстрактную структуру, состоящую из четырех компонент:
• процессор команд (IP — Instruction Processor) — функциональное устройство, работающее, как интерпретатор команд; в
системе, вообще говоря, может отсутствовать;
• процессор данных (DP — Data Processor) — функциональное
устройство, работающее как преобразователь данных, в соответствии с арифметическими операциями;
• иерархия памяти (IM — Instruction Memory, DM — Data
Memory) — запоминающее устройство, в котором хранятся
данные и команды, пересылаемые между процессорами;
• переключатель — абстрактное устройство, обеспечивающее
связь между процессорами и памятью.

15.

Классификация Хендлера
Предложенная классификация базируется на различии между
тремя уровнями обработки данных в процессе выполнения программ:
• уровень выполнения программы: опираясь на счетчик команд
и некоторые другие регистры, устройство управления (УУ)
производит выборку и дешифрацию команд программы;
• уровень выполнения команд: арифметико-логическое устройство компьютера (АЛУ) исполняет команду, выданную ему
устройством управления;
• уровень битовой обработки: все элементарные логические схемы процессора (ЭЛС) разбиваются на группы, необходимые
для выполнения операций над одним двоичным разрядом.

16.

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

17.

Первая возможность
используется в MIMD-компьютерах,
которые автор называет
конвейерными

18.

Архитектуры, использующие вторую возможность, в
свою очередь опять делятся на два класса:
• • MIMD-компьютеры, в которых возможна прямая
связь каждой пары процессоров, которая
реализуется с помощью переключателя;
• • MIMD-компьютеры, в которых прямая связь
каждого процессора возможна только с
ближайшими соседями по сети, а взаимодействие
удаленных процессоров поддерживается
специальной системой маршрутизации через
процессоры-посредники.

19.

Классификация Шора
представляет собой попытку выделения типичных
способов компоновки вычислительных систем
на основе фиксированного числа базисных блоков:
устройства управления, арифметико-логического
устройства, памяти команд и памяти данных.
Дополнительно предполагается, что выборка из
памяти данных может осуществляться словами, т. е.
выбираются все разряды одного слова и/или
битовым слоем — по одному разряду из одной и
той же позиции каждого слова (иногда этих два
способа называют горизонтальной и вертикальной
выборками соответственно)

20.

Примеры некоторых архитектур
вычислительных систем

21.

• асимметричная многопроцессорная
(мультипроцессорная)обработка (архитектура);
• массивно-параллельная архитектура;
• симметричная многопроцессорная архитектура;
• гибридная архитектура с неоднородным доступом к
памяти;
• параллельная архитектура с векторными
процессорами;
• кластерная архитектура.

22.

Асимметричная
мультипроцессорная обработка —
ASymmetric Multiprocessing (ASMP)
Это архитектура суперкомпьютера, в которой каждый
процессор имеет свою оперативную память
Передача сообщений может осуществляться через общую шину
(МРР-архитектура) либо благодаря межпроцессорным
связям. В последнем случае процессоры связаны либо непосредственно, либо через друг друга.
Непосредственные связи используются при небольшом числе
процессоров.

23.

МРР-архитектура (massive parallel
processing) — массивно-параллельная архитектура

24.

Система состоит из однородных вычислительных узлов, включающих:
1. один или несколько центральных процессоров (обычно RISC),
2. локальную память (прямой доступ к памяти других узлов невозможен),
Архитек 3. коммуникационный процессор или сетевой адаптер
тура
4. иногда - жесткие диски (как в SP) и/или другие устройства В/В
К системе могут быть добавлены специальные узлы ввода-вывода и
управляющие узлы. Узлы связаны через некоторую коммуникационную среду
(высокоскоростная сеть, коммутатор и т.п.)
Пример
IBM RS/6000 SP2, Intel PARAGON/ASCI Red, SGI/CRAY T3E, Hitachi SR8000,
ы
транспьютерные системы Parsytec.
Масшта
Общее число процессоров в реальных системах достигает нескольких тысяч
бируемость (ASCI Red, Blue Mountain).
Существуют два основных варианта:
1. Полноценная ОС работает только на управляющей машине (front-end), на
каждом узле работает сильно урезанный вариант ОС, обеспечивающие только
Операци
работу расположенной в нем ветви параллельного приложения. Пример: Cray
онная
T3E.
система
2. На каждом узле работает полноценная UNIX-подобная ОС (вариант, близкий
к кластерному подходу). Пример: IBM RS/6000 SP + ОС AIX, устанавливаемая
отдельно на каждом узле.
Модель
программи
рования
Программирование в рамках модели передачи сообщений ( MPI, PVM, BSPlib)

25.

Симметричная
мультипроцессорная обработка
Symmetric Multiprocessing (SMP)

26.

Система состоит из нескольких однородных процессоров и массива общей памяти (обычно из нескольких
независимых блоков). Все процессоры имеют доступ к любой точке памяти с одинаковой скоростью.
Архитектура
Процессоры подключены к памяти либо с помощью общей шины (базовые 2-4 процессорные SMP-сервера),
либо с помощью crossbar-коммутатора (HP 9000). Аппаратно поддерживается когерентность кэшей.
Примеры
HP 9000 V-class, N-class; SMP-cервера и рабочие станции на базе процессоров Intel (IBM, HP, Compaq,
Dell, ALR, Unisys, DG, Fujitsu и др.).
Наличие общей памяти сильно упрощает взаимодействие процессоров между собой, однако накладывает
Масштабиру
сильные ограничения на их число - не более 32 в реальных системах. Для построения масштабируемых
емость
систем на базе SMP используются кластерные или NUMA-архитектуры.
Вся система работает под управлением единой ОС (обычно UNIX-подобной, но для Intel-платформ
Операционн
поддерживается Windows NT). ОС автоматически (в процессе работы) распределяет процессы/нити по
ая система
процессорам (scheduling), но иногда возможна и явная привязка.
Модель
Программирование в модели общей памяти. (POSIX threads, OpenMP). Для SMP-систем существуют
программирова
сравнительно эффективные средства автоматического распараллеливания.
ния

27.

Гибридная архитектура (NUMA).
Организация когерентности
многоуровневой иерархической
памяти

28.

Система состоит из однородных базовых модулей (плат), состоящих из небольшого числа процессоров и блока памяти.
Модули объединены с помощью высокоскоростного коммутатора. Поддерживается единое адресное пространство, аппаратно
поддерживается доступ к удаленной памяти, т.е. к памяти других модулей. При этом доступ к локальной памяти в несколько
Архитектура
раз быстрее, чем к удаленной.
В случае, если аппаратно поддерживается когерентность кэшей во всей системе (обычно это так), говорят об архитектуре
cc-NUMA (cache-coherent NUMA)
Примеры
HP HP 9000 V-class в SCA-конфигурациях, SGI Origin2000, Sun HPC 10000, IBM/Sequent NUMA-Q 2000, SNI RM600.
Масштабируемость NUMA-систем ограничивается объемом адресного пространства, возможностями аппаратуры
Масштабируе
поддежки когерентности кэшей и возможностями операционной системы по управлению большим числом процессоров. На
мость
настоящий момент, максимальное число процессоров в NUMA-системах составляет 256 (Origin2000).
Обычно вся система работает под управлением единой ОС, как в SMP. Но возможны также варианты динамического
Операционна
"подразделения" системы, когда отдельные "разделы" системы работают под управлением разных ОС (например, Windows NT
я система
и UNIX в NUMA-Q 2000).
Модель
программирован
ия
Аналогично SMP.

29.

PVP-архитектура
(Parallel Vector Process)

30.

Основным признаком PVP-систем является наличие специальных векторно-конвейерных процессоров, в
которых предусмотрены команды однотипной обработки векторов независимых данных, эффективно
Архитектур выполняющиеся на конвейерных функциональных устройствах.
а
Как правило, несколько таких процессоров (1-16) работают одновременно над общей памятью
(аналогично SMP) в рамках многопроцессорных конфигураций. Несколько таких узлов могут быть
объединены с помощью коммутатора (аналогично MPP).
Примеры
NEC SX-4/SX-5, линия векторно-конвейерных компьютеров CRAY: от CRAY-1, CRAY J90/T90, CRAY
SV1, серия Fujitsu VPP.
Модель
Эффективное программирование подразумевает векторизацию циклов (для достижения разумной
программиров производительности одного процессора) и их распараллеливание (для одновременной загрузки нескольких
ания
процессоров одним приложением).

31.

Кластерная архитектура

32.

Набор рабочих станций (или даже ПК) общего назначения, используется в качестве дешевого варианта
массивно-параллельного компьютера. Для связи узлов используется одна из стандартных сетевых технологий
(Fast/Gigabit Ethernet, Myrinet) на базе шинной архитектуры или коммутатора.
Архитекту
При объединении в кластер компьютеров разной мощности или разной архитектуры, говорят о
ра
гетерогенных (неоднородных) кластерах.
Узлы кластера могут одновременно использоваться в качестве пользовательских рабочих станций. В
случае, когда это не нужно, узлы могут быть существенно облегчены и/или установлены в стойку.
Примеры
NT-кластер в NCSA, Beowulf-кластеры.
Используются стандартные для рабочих станций ОС, чаще всего, свободно распространяемые Операцион
Linux/FreeBSD, вместе со специальными средствами поддержки параллельного программирования и
ная система
распределения нагрузки.
Модель
Программирование, как правило, в рамках модели передачи сообщений (чаще всего - MPI). Дешевизна
программиров подобных систем оборачивается большими накладными расходами на взаимодействие параллельных
ания
процессов между собой, что сильно сужает потенциальный класс решаемых задач.
English     Русский Rules