Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Классификация М. Флинна. Достоинства и недостатки



Тема 1. Введение в архитектуру многопроцессорных вычислительных систем

Необходимость введение классификации параллельных вычислительных систем. Требования, которым должна удовлетворять классификации.

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

Классификация должна удовлетворять двум требованиям:

1. Каждая система должна однозначно относиться к тому или иному классу

2. Каждый класс должен достаточно полно характеризовать относящиеся к нему системы.

Классификация М. Флинна. Достоинства и недостатки.

В 1966 году М. Финн предложил первую версию своей классификации

В основу классификации Флинн положил понятие «поток», под которым понимал последовательность команд и последовательность данных, обрабатываемых процессором.

По числу команд и потоков данных он выделил 4 класса:

1. Single (0) – одиночный поток

2. Multiple (1) – множественный поток

3. Instruction stream(I) – Поток команд

4. Data stream (D) – Поток данных

Классы:

· SISD – В данных системах выполняется последовательность команд, каждая из которых работает только с одним потоком данных. Не имеет значения, что для ускорения выполнения арифметических операций в некоторых системах осуществляется конвейерная обработка. К данному классу относятся все однопроцессорные компьютеры.

· SIMD – В данных системах сохраняется один поток команд, включающий векторные команды, это позволяет выполнять одну операцию над элементами вектора. Порядок выполнения векторных операций в данном классе не оговаривается.
Cray-1, ILLIAC-IV

· MISD – В данных системах множественный поток команд обрабатывает один поток данных. К этому классу не относят ни одной системы.

· MIMD – В данных системах есть несколько устройств обработки команд, объединённых в единое целое. Каждое устройство работает со своим потоком команд и со своим потоком данных. К данному классу относятся все многопроцессорные системы.

Достоинства классификации Флинна

· Используется давно и достаточна для начальной характеристики системы.

· Каждый класс достаточно полно характеризует относящиеся к нему системы.

Недостатки ~

· Некоторые системы трудно однозначно отнести к определённому классу. Например: конвеерно-векторные системы можно отнести к классу SIMD и MIMD

· Чрезвычайная переполненность класса MIMD. Системы с различным числом процессоров, организацией памяти относятся к одному классу.


3. Компьютеры с разделенной памятью: MPP-системы. Принципиальная схема. Примеры MPP-систем.

 
 

MPP Системы(Massive parallel processing - Массово-параллельная архитектура)

Системы с массивным параллелизмом / массивно-параллельные системы

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

MPP Системы являются в настоящее время самыми высокопроизводительными системами.

Преимущества архитектуры

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

Недостатки архитектуры

· отсутствие общей памяти заметно снижает скорость межпроцессорного обмена, поскольку нет общей среды для хранения данных, предназначенных для обмена между процессорами. Требуется специальная техника программирования для реализации обмена сообщениями между процессорами;

· каждый процессор может использовать только ограниченный объём локального банка памяти;

· вследствие указанных архитектурных недостатков требуются значительные усилия для того, чтобы максимально использовать системные ресурсы. Именно этим определяется высокая цена программного обеспечения для массово-параллельных систем с раздельной памятью.

Операционная система

1. Полноценная ОС работает только на управляющей машине (front-end), на каждом узле работает сильно урезанный вариант ОС, обеспечивающие только работу расположенной в нем ветви параллельного приложения. Пример: Cray T3E.

2. На каждом узле работает полноценная UNIX-подобная ОС (вариант, близкий к кластерному подходу). Пример: IBM RS/6000 SP + ОС AIX, устанавливаемая отдельно на каждом узле.

Программирование в рамках модели передачи сообщений (MPI, PVM, BSPlib)

Системами с раздельной памятью являются суперкомпьютеры МВС-1000, IBM RS/6000 SP, SGI/CRAY T3E, системы ASCI, Hitachi SR8000, системы Parsytec.

Машины последней серии CRAY T3E от SGI, основанные на базе процессоров Dec Alpha 21164 с пиковой производительностью 1200 Мфлопс/с (CRAY T3E-1200), способны масштабироваться до 2048 процессоров.

4. Компьютеры с общей памятью: SMP-системы. Многоядерные системы. Принципиальная схема. Примеры SMP-систем.

SMP системы (Symmetrical Multi Processors / Shared Memory Processors)

 
 

(симметричные мультипроцессоры / процессоры с общей памятью)

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

«Симметричный» означает, что все процессоры одинаковы и имеют общий доступ к памяти.

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

В таксономии Флинна SMP-машины относятся к классу SM-MIMD-машин.

Большинство многопроцессорных систем сегодня используют архитектуру SMP.

Преимущества

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

Недостатки

· Выход из строя одного процессора приводит к некорректной работе всей системы и требует перезагрузки всей системы для отключения неисправного процессора.

· При увеличении числа процессоров заметно увеличивается требование к полосе пропускания шины памяти. Это накладывает ограничение на количество процессоров в SMP архитектуре. Современные SMP-системы позволяют эффективно работать при 16 процессорах.

Поддержка SMP должна быть встроена в операционную систему, иначе дополнительные процессоры будут оставаться не загруженными, и система будет работать как однопроцессорная. Большинство современных операционных систем поддерживают симметричную мультипроцессорность, но в разной степени.

Модель программирования

Программирование в модели общей памяти. (POSIX threads, OpenMP). Для SMP-систем существуют сравнительно эффективные средства автоматического распараллеливания.

Примеры

HP 9000 V-class, N-class; SMP-cервера и рабочие станции на базе процессоров Intel (IBM, HP, Compaq, Dell, ALR, Unisys, DG, Fujitsu и др.).

5. Системы с неоднородным доступом к памяти: ccNUMA-системы. Принципиальная схема.

NUMA - Non-Uniform Memory Architecture — «Архитектура с неравномерной памятью») — схема реализации компьютерной памяти, используемая в мультипроцессорных системах, когда время доступа к памяти определяется её расположением по отношению к процессору. NUMA – нечто среднее между SMP и MPP, где память физически распределена, но логически общедоступна.

ссNUMA - cache-coherent Non-Uniform Memory Architecture – аппаратно поддерживается когерентность кэшей во всей системе.

Система состоит из однородных базовых модулей (плат), состоящих из небольшого числа процессоров и блока памяти. Модули объединены с помощью высокоскоростного коммутатора. Поддерживается единое адресное пространство, аппаратно поддерживается доступ к удаленной памяти, т.е. к памяти других модулей. При этом доступ к локальной памяти в несколько раз быстрее, чем к удаленной.

Когерентность памяти (англ. memory coherence) — свойство компьютерных систем, в которых два или более процессора или ядра имеют доступ к общей области памяти.

Хотя системы с некогерентным доступом к NUMA проще проектировать и создавать, становится предельно сложно создавать программы в классической модели архитектуры фон Неймана(принцип хранения данных и инструкций в одной памяти). В результате, все продаваемые NUMA-компьютеры используют специальные аппаратные решения для достижения когерентности кеша, и классифицируются как кеш-когерентные системы с распределенной разделяемой памятью, или ccNUMA.

Масштабируемость NUMA-систем ограничивается объемом адресного пространства, возможностями аппаратуры поддежки когерентности кэшей и возможностями операционной системы по управлению большим числом процессоров. На настоящий момент, максимальное число процессоров в NUMA-системах составляет 256 (Origin2000).

Обычно вся система работает под управлением единой ОС, как в SMP. Но возможны также варианты динамического "подразделения" системы, когда отдельные "разделы" системы работают под управлением разных ОС (например, Windows NT и UNIX в NUMA-Q 2000).

Модель программирования

Программирование как в SMP.

Примеры

HP 9000 V-class в SCA-конфигурациях, SGI Origin2000, Sun HPC 10000, IBM/Sequent NUMA-Q 2000, SNI RM600.





Дата публикования: 2015-02-03; Прочитано: 3896 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...