Помощь в написании студенческих работ
Антистрессовый сервис

Основные классы современных параллельных компьютеров — MPP, SMP, NUMA, PVP, кластеры

РефератПомощь в написанииУзнать стоимостьмоей работы

Основные причины появления массивно-параллельных компьютеров — это, во-первых, необходимость построения компьютеров с гигантской производительностью, и, во-вторых, необходимость производства компьютеров в большом диапазоне как производительности, так и стоимости. Не все в состоянии купить однопроцессорный CRAY Y-MP C90, да и не всегда такие мощности и нужны. Для массивно-параллельного компьютера… Читать ещё >

Основные классы современных параллельных компьютеров — MPP, SMP, NUMA, PVP, кластеры (реферат, курсовая, диплом, контрольная)

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

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

Кластерные системы являются развитием параллельных систем. Чтобы показать место кластерных систем среди остальных типов параллельных архитектур вычислительных систем нужно привести их классификацию.

Параллельные системы могут быть классифицированы по различным критериям.

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

Рассмотрим наиболее типичные классы архитектур современных параллельных компьютеров (не рассматриваются устаревшие и проектируемые архитектуры):

а) Массивно-параллельные системы (MPP) — таблица1.

Основные причины появления массивно-параллельных компьютеров — это, во-первых, необходимость построения компьютеров с гигантской производительностью, и, во-вторых, необходимость производства компьютеров в большом диапазоне как производительности, так и стоимости. Не все в состоянии купить однопроцессорный CRAY Y-MP C90, да и не всегда такие мощности и нужны. Для массивно-параллельного компьютера, в котором число процессоров может сильно меняться, всегда можно подобрать конфигурацию с заранее заданной производительностью и/или стоимостью. Особенность архитектуры состоит в том, что память физически разделена.

Система строится из отдельных модулей, содержащих процессор, локальный банк операционной памяти, коммуникационные процессоры или сетевые адаптеры, иногда — жесткие диски и/или другие устройства ввода/вывода. Доступ к банку операционной памяти из данного модуля имеют только процессоры из этого же модуля. Модули соединяются специальными коммуникационными каналами.

Таблица 1.

Архитектура.

Система состоит из однородных вычислительных узлов, включающих:

  • — один или несколько центральных процессоров (обычно RISC),
  • — локальную память (прямой доступ к памяти других узлов невозможен),
  • — коммуникационный процессор или сетевой адаптер
  • — иногда — жесткие диски (как в SP) и/или другие устройства В/В

К системе могут быть добавлены специальные узлы ввода-вывода и управляющие узлы. Узлы связаны через некоторую коммуникационную среду (высокоскоростная сеть, коммутатор и т. п.).

Примеры.

IBM RS/6000 SP2, Intel PARAGON/ASCI Red, CRAY T3E, Hitachi SR8000, транспьютерные системы Parsytec.

Масштабируемость.

Общее число процессоров в реальных системах достигает нескольких тысяч (ASCI Red, Blue Mountain).

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

Существуют два основных варианта:

  • 1. Полноценная ОС работает только на управляющей машине (front-end), на каждом узле работает сильно урезанный вариант ОС, обеспечивающие только работу расположенной в нем ветви параллельного приложения. Пример: Cray T3E.
  • 2. На каждом узле работает полноценная UNIX-подобная ОС (вариант, близкий к кластерному подходу). Пример: IBM RS/6000 SP + ОС AIX, устанавливаемая отдельно на каждом узле.

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

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

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

  • *отсутствие общей памяти заметно снижает скорость межпроцессорного обмена, поскольку нет общей среды для хранения данных, предназначенных для обмена между процессорами. Требуется специальная техника программирования для реализации обмена сообщениями между процессорами;
  • *каждый процессор может использовать только ограниченный объем локального банка памяти;
  • *вследствие указанных архитектурных недостатков требуются значительные усилия для того, чтобы максимально использовать системные ресурсы. Именно этим определяется высокая цена программного обеспечения для массивно-параллельных систем с раздельной памятью.
  • б) Симметричные мультипроцессорные системы (SMP) — таблица 2.

Можно сказать, что SMP система — это один компьютер с несколькими равноправными процессорами. Все остальное — в одном экземпляре: одна память, одна подсистема ввода/вывода, одна операционная система.

Таблица 2.

Архитектура.

Система состоит из нескольких однородных процессоров и массива общей памяти (обычно из нескольких независимых блоков). Все процессоры имеют доступ к любой точке памяти с одинаковой скоростью. Процессоры подключены к памяти либо с помощью общей шины (базовые 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-систем существуют сравнительно эффективные средства автоматического распараллеливания.

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

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

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

  • — Ограничение на количество процессоров. При увеличении числа процессоров заметно увеличивается требование к полосе пропускания шины памяти. Это накладывает ограничение на количество процессоров в SMP архитектуре. Современные конструкции позволяют разместить до четырех процессоров на одной системной плате.
  • — Необходимость организации канала процессоры-память с очень высокой пропускной способностью.
  • в) Системы с неоднородным доступом к памяти (NUMA) — таблица 3

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

Таблица 3.

Архитектура.

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

В случае, если аппаратно поддерживается когерентность кэшей во всей системе (обычно это так), говорят об архитектуре cc-NUMA (cache-coherent NUMA).

Примеры.

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

Масштабируемость.

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

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

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

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

Аналогично SMP.

Основной проблемой NUMA является обеспечение когерентности кэшей. Аппаратура позволяет работать со всеми отдельными устройствами основной памяти составных частей системы (называемых обычно узлами) как с единой гигантской памятью.

г) Параллельные векторные системы (PVP) — таблица 4.

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

Таблица 4.

Архитектура.

Основным признаком PVP-систем является наличие специальных векторно-конвейерных процессоров, в которых предусмотрены команды однотипной обработки векторов независимых данных, эффективно выполняющиеся на конвейерных функциональных устройствах. Как правило, несколько таких процессоров (1−16) работают одновременно над общей памятью (аналогично SMP) в рамках многопроцессорных конфигураций. Несколько таких узлов могут быть объединены с помощью коммутатора (аналогично MPP).

Примеры.

NEC SX-4/SX-5, линия векторно-конвейерных компьютеров CRAY: от CRAY-1, CRAY J90/T90, CRAY SV1, CRAY X1, серия Fujitsu VPP.

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

Эффективное программирование подразумевает векторизацию циклов (для достижения разумной производительности одного процессора) и их распараллеливание (для одновременной загрузки нескольких процессоров одним приложением).

д) Кластерные системы — таблица 5.

Кластер — это два или более сервера (иногда называемые узлами), объединенные при помощи коммуникационных каналов, которые образуют системную, или технологическую, сеть.

Такое соединение позволяет повысить готовность или масштабируемость или и то и другое одновременно.

Таблица 5.

Архитектура.

Набор рабочих станций (или даже ПК) общего назначения, используется в качестве дешевого варианта массивно-параллельного компьютера. Для связи узлов используется одна из стандартных сетевых технологий (Fast/Gigabit Ethernet, Myrinet) на базе шинной архитектуры или коммутатора.

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

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

Примеры.

NT-кластер в NCSA, Beowulf-кластеры.

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

Используются стандартные для рабочих станций ОС, чаще всего, свободно распространяемые — Linux/FreeBSD, вместе со специальными средствами поддержки параллельного программирования и распределения нагрузки.

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

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

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

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

Показать весь текст
Заполнить форму текущей работой