Многопроцессорные системы

Автор работы: Пользователь скрыл имя, 29 Октября 2012 в 19:37, контрольная работа

Краткое описание

Самым непосредственным способом реализации параллельной обработки сигналов является простое присоединение ряда процессоров к общей шине.
Действительно, большинство современных серийных микропроцессорных комплектов отличается такой мультипроцессорностью. К этой мысли пришли не сразу. На идею о целесообразности использования структуры из повторяющихся модулей навела высокая стоимость разработки проекта высокопараллельного СБИС-процессора.

Содержание работы

1. Традиционные однопроцессорные последовательные ЭВМ и многопроцессорные сети 6
2 Многопроцессорные системы 7
2.1 Описание многопроцессорных систем 7
2.2 Общие требования, предъявляемые к многопроцессорным системам 7
3. Архитектура вычислительных систем 13
3.1. МРР архитектура 13
3.2. SMP архитектура 15
3.3. PVP архитектура 17
3.4. Кластерная архитектура 19
3.5. Гибридная архитектура (NUMA) 21
3.6. Мета-компьютинг 22
4. Классификация многопроцессорных систем с различной архитектурой 24
4.1 Многопроцессорные системы с общей памятью 24
4.2 Многопроцессорные системы с локальной памятью 33
5. Сравнительный анализ архитектур SMP и MPP 37
6. Области применения многопроцессорных систем 39
Заключение 45
Литература 47

Содержимое работы - 1 файл

Курсовая работа Многопроцессорные системы.doc

— 221.50 Кб (Скачать файл)

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

3.1. МРР  архитектура

 

MPP архитектура  (massive parallel processing) - массивно-параллельная  архитектура. Главная особенность  такой архитектуры состоит в  том, что память физически разделена.  В этом случае система строится  из отдельных модулей, содержащих  процессор, локальный банк операционной памяти (ОП), два коммуникационных процессора (рутера) или сетевой адаптер, иногда - жесткие диски и/или другие устройства ввода/вывода. Один рутер используется для передачи команд, другой - для передачи данных. По сути, такие модули представляют собой полнофункциональные компьютеры (см. рис.1.). Доступ к банку ОП из данного модуля имеют только процессоры (ЦП) из этого же модуля. Модули соединяются специальными коммуникационными каналами. Пользователь может определить логический номер процессора, к которому он подключен, и организовать обмен сообщениями с другими процессорами. Используются два варианта работы операционной системы (ОС) на машинах MPP архитектуры. В одном полноценная операционная система (ОС) работает только на управляющей машине (front-end), на каждом отдельном модуле работает сильно урезанный вариант ОС, обеспечивающий работу только расположенной в нем ветви параллельного приложения. Во втором варианте на каждом модуле работает полноценная UNIX-подобная ОС, устанавливаемая отдельно на каждом модуле.

 

Рис. 1. Схематический вид архитектуры с раздельной памятью

 

Главное преимущество:

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

Недостатки:

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

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

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

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

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

При работе с MPP системами используют так называемую Massive Passing Programming Paradigm - парадигму программирования с передачей данных (MPI, PVM, BSPlib).

3.2. SMP архитектура

 

SMP архитектура (symmetric multiprocessing) - симметричная многопроцессорная архитектура. Главной особенностью систем с архитектурой SMP является наличие общей физической памяти, разделяемой всеми процессорами.

Рис. 2. Схематический вид SMP-архитектуры.

 

Память является способом передачи сообщений между  процессорами, при этом все вычислительные устройства при обращении к ней  имеют равные права и одну и  ту же адресацию для всех ячеек  памяти. Поэтому SMP архитектура называется симметричной. Последнее обстоятельство позволяет очень эффективно обмениваться данными с другими вычислительными устройствами. SMP-система строится на основе высокоскоростной системной шины (SGI PowerPath, Sun Gigaplane, DEC TurboLaser), к слотам которой подключаются функциональные блоки трех типов: процессоры (ЦП), операционная система (ОП) и подсистема ввода/вывода (I/O). Для подсоединения к модулям I/O используются уже более медленные шины (PCI, VME64). Наиболее известными SMP-системами являются SMP-cервера и рабочие станции на базе процессоров Intel (IBM, HP, Compaq, Dell, ALR, Unisys, DG, Fujitsu и др.) Вся система работает под управлением единой ОС (обычно UNIX-подобной, но для Intel-платформ поддерживается Windows NT). ОС автоматически (в процессе работы) распределяет процессы по процессорам, но иногда возможна и явная привязка.

Основные  преимущества SMP-систем:

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

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

• относительно невысокая цена.

 

 

Недостатки:

• системы с  общей памятью, построенные на системной  шине, плохо масштабируемы. Этот важный недостаток SMP-системы не позволяет считать их по-настоящему перспективными. Причины плохой масштабируемости состоят в том, что в данный момент шина способна обрабатывать только одну транзакцию, вследствие чего возникают проблемы разрешения конфликтов при одновременном обращении нескольких процессоров к одним и тем же областям общей физической памяти. Вычислительные элементы начинают друг другу мешать. Когда произойдет такой конфликт, зависит от скорости связи и от количества вычислительных элементов. В настоящее время конфликты могут происходить при наличии 8-24-х процессоров. Кроме того, системная шина имеет ограниченную (хоть и высокую) пропускную способность (ПС) и ограниченное число слотов. Все это с очевидностью препятствует увеличению производительности при увеличении числа процессоров и числа подключаемых пользователей. В реальных системах можно использовать не более 32 процессоров. Для построения масштабируемых систем на базе SMP используются кластерные или NUMA-архитектуры. При работе с SMP системами используют так называемую парадигму программирования с разделяемой памятью (shared memory paradigm).

3.3. PVP архитектура

 

PVP (Parallel Vector Process) - параллельная архитектура с  векторными процессорами. Основным признаком PVP-систем является наличие специальных векторно-конвейерных процессоров, в которых предусмотрены команды однотипной обработки векторов независимых данных, эффективно выполняющиеся на конвейерных функциональных устройствах. Как правило, несколько таких процессоров (1-16) работают одновременно с общей памятью (аналогично SMP) в рамках многопроцессорных конфигураций. Несколько таких узлов могут быть объединены с помощью коммутатора (аналогично MPP). Поскольку передача данных в векторном формате осуществляется намного быстрее, чем в скалярном (максимальная скорость может составлять 64 Гб/с, что на 2 порядка быстрее, чем в скалярных машинах), то проблема взаимодействия между потоками данных при распараллеливании становится несущественной. И то, что плохо распараллеливается на скалярных машинах, хорошо распараллеливается на векторных. Таким образом, системы PVP архитектуры могут являться машинами общего назначения (general purpose systems). Однако, поскольку векторные процессоры весьма дороги, эти машины не будут являться общедоступными.

Наиболее популярны 3 машины PVP архитектуры:

1. CRAY SV-2, SMP архитектура. Пиковая производительность системы в стандартной конфигурации может составлять десятки терафлопс.

2. NEC SX-6, NUMA архитектура. Пиковая производительность системы может достигать 8 Тфлопс, производительность 1 процессора составляет 8 Гфлопс. Система масштабируется до 128 узлов.

3. Fujitsu-VPP5000 (vector parallel processing), MPP архитектура. Производительность 1 процессора составляет 9.6 Гфлопс, пиковая производительность системы может достигать 1249 Гфлопс, максимальная емкость памяти - 8 Тб. Система масштабируется до 512 узлов.

За счет большой  физической памяти (доли терабайта), даже плохо векторизуемые задачи на PVP системах решаются быстрее, на системах со скалярными процессорами.

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

 

Кластер представляет собой два или больше компьютеров (часто называемых узлами), объединяемых при помощи сетевых технологий на базе шинной архитектуры или коммутатора  и предстающих перед пользователями в качестве единого информационно-вычислительного ресурса. В качестве узлов кластера могут быть выбраны серверы, рабочие станции и даже обычные персональные компьютеры. Преимущество кластеризации для повышения работоспособности становится очевидным в случае сбоя какого-либо узла: при этом другой узел кластера может взять на себя нагрузку неисправного узла, и пользователи не заметят прерывания в доступе. Возможности масштабируемости кластеров позволяют многократно увеличивать производительность приложений для большего числа пользователей. технологий (Fast/Gigabit Ethernet, Myrinet) на базе шинной архитектуры или коммутатора. Такие суперкомпьютерные системы являются самыми дешевыми, поскольку собираются на базе стандартных комплектующих элементов ("off the shelf"), процессоров, коммутаторов, дисков и внешних устройств.

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

 

Типы  кластеров

Условное деление  на классы предложено Язеком Радаевским и Дугласом Эдлайном:

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

Класс II. Система имеет эксклюзивные или не широко распространенные детали. Этим можно достичь очень хорошей производительности, но при более высокой стоимости.

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

• Системы высокой  надежности.

• Системы для  высокопроизводительных вычислений.

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

Кластеры  для высокопроизводительных вычислений предназначены для параллельных расчётов. Эти кластеры обычно собраны из большого числа компьютеров. Разработка таких кластеров является сложным процессом, требующим на каждом шаге аккуратных согласований таких вопросов как инсталляция, эксплуатация и одновременное управление большим числом компьютеров, технические требования параллельного и высокопроизводительного доступа к одному и тому же системному файлу (или файлам) и межпроцессорная связь между узлами и координация работы в параллельном режиме. Эти проблемы проще всего решаются при обеспечении единого образа операционной системы для всего кластера. Однако реализовать подобную схему удаётся далеко не всегда и обычно она обычно применяется лишь для не слишком больших систем.

 

3.5. Гибридная  архитектура (NUMA)

 

Гибридная архитектура NUMA (nonuniform memory access). Главная особенность такой архитектуры - неоднородный доступ к памяти.

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

 

Рис. 3. Структурная схема компьютера с гибридной сетью:

Информация о работе Многопроцессорные системы