Многопроцессорные вычислительные системы

 

 


Рассмотрим основные классификационные признаки, по которым происходит разделение вычислительных систем (табл. 4.1).

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



Классификационный признак

Описание

По типу ЭВМ (процессоров)

Однородные предполагают комплексирование однотипных ЭВМ (процессоров)

Неоднородные предполагают комплексирование разнотипных ЭВМ (процессоров)

По степени территориальной разобщенности

Сосредоточенного типа, к которым относятся мультипроцессоры

Распределенного типа, к которым относятся мультикомпьютеры

По методам управления элементами вычислительной системы

Централизованные, в которых выделяется отдельная ЭВМ (процессор), обеспечивающий управление вычислениями

В децентрализованных функции управления распределены между элементами системы

Со смешанным управлением

По принципу закрепления вычислительных функций за отдельными элементами системы

С жестким закреплением функций

С плавающим закреплением функций

По режиму работы

Работающие в оперативном режиме (on-line или режиме реального времени) с жесткими ограничениями на время обработки информации)

Работающие в неоперативном режиме (off-line), допускающие отложенную обработку информации

Теперь мы можем перейти к рассмотрению многопроцессорных систем или мультипроцессоров. Главная отличительная черта таких систем – это совместное использование несколькими процессорами общей физической памяти (рис. 4.3). Поэтому часто мультипроцессоры называют системами с общей памятью. Принципов построения вычислительных систем всего три – с использованием общего процессораобщей памяти и общих каналов связи.



Рис. 4.3. Мультипроцессор с общей памятью

Внутри мультипроцессорной системы происходит информационное взаимодействие под управлением единой операционной системы, что существенно улучшает динамические характеристики этого взаимодействия, но значительно усложняет операционную систему. И чем больше процессоров, тем сложнее программное обеспечение. С точки зрения программиста организовать доступ одного процессора к памяти – задача простая. В том случае если процессоров два, появляется необходимость контроля общего доступа к памяти и исключения возможных конфликтов при обращении к одним участкам памяти. А если этих процессоров 4, 8 или даже 64? Поэтому программное обеспечение для таких систем, как правило, очень сложное и дорогостоящее.

ПРИМЕЧАНИЕ

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

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

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

Существует три типа мультипроцессоров, отличающиеся механизмом доступа к памяти: UMA (Uniform Memory Access –однородный доступ к памяти), NUMA (Non UMA – неоднородный доступ к памяти) и COMA (Cache Only Memory Access –доступ только к кэш-памяти).

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

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

ПРИМЕЧАНИЕ

NUMA мультипроцессоры выпускаются компанией Sun Microsystems под торговой маркой Sun Fire E25K, на базе процессоров UltraSPARC IV.

У COMA мультипроцессоров основная память процессоров используется в качестве кэш-памяти. Кстати этот тип мультипроцессоров также является неоднородным, но природа неоднородности несколько иная.


Лекция добавлена 28.02.2013 в 03:14:47