В системах с общей памятью все процессоры имеют равные возможности по доступу к единому адресному пространству. Единая память может быть построена как одноблочная или по модульному принципу, но обычно практикуется второй вариант.
Р3
Р2
Р1
Р0
МР
Вычислительные системы с общей памятью, где доступ любого процессора к
Рис. а
памяти производится единообразно и занимает одинаковое UMA время, называют системами с однородным доступом к памяти и обозначают (Uniform Memory Access). Это наиболее распространенная архитектура памяти параллельных ВС с общей памятью.
Технически UMA - системы предполагают наличие узла, соединяющего каждый из n процессоров с каждым из m- модулей памяти. Простейший путь построения таких ВС – объединение нескольких процессоров с единой памятью (см. рис. а)
С КЭШ
Рис. б.
В этом случае, однако, в каждый момент времени обмен по шине может вести только один из процессоров, т.е. процессоры должны соперничать за доступ к шине. Когда какой – либо процессор выбирает из памяти команду, остальные процессоры должны ожидать, пока шина освободится. Если в систему входят только два процессора, они в состоянии работать с производительностью, близкой к максимальной, поскольку их доступ к шине можно чередовать: пока один процессор декодирует и выполняет команду, второй вправе использовать шину для выборки из памяти следующей команды. Однако с появлением третьего процессора производительность начинает падать. При наличии 10 процессоров кривая производительности П начинает падать так что добавление 11 – го процессора уже не дает повышения производительности. Нижняя кривая на рис.б, иллюстрирует тот факт, что память и шина обладают фиксированной пропускной способностью, определяемой комбинацией длительности цикла памяти и протоколом шины, и в многопроцессорной системе с общей шиной эта пропускная способность распределена между несколькими процессорами. Если длительность цикла процессора больше по сравнению с циклом памяти, к шине можно подключить много процессоров, Однако фактически процессор обычно намного быстрее памяти, поэтому данная схема широкого применения не находит.
Рис. в
Альтернативный способ построения многопроцессорной ВС с общей памятью на основе UMA показан на рис. в Здесь шина заменена коммутатором, маршрутизирующим запросы процессора к одному из нескольких модулей памяти. Несмотря на то, что имеется несколько модулей памяти, все они входят в единое виртуальное адресное пространство. Преимущество такого подхода в том, что коммутатор в состоянии параллельно обслуживать несколько запросов. Каждый процессор может быть соединен со своим модулем памяти и иметь доступ к нему на максимальной допустимой скорости. Соперничество между процессорами может возникнуть при попытке одновременного доступа к одному и тому же модулю памяти. В этом случае доступ получает только один из процессоров, а прочие – блокируются.
К сожалению, архитектура UMA не очень хорошо масштабируется. Наиболее распространенные системы содержат 4 – 8 процессоров. К тому же подобные системы нельзя отнести к отказоустойчивым, так как отказ одного процессора или модуля памяти влечет отказ всей ВС.
Другим подходом к построению ВС с общей памятью является неоднородный доступ к памяти, обозначаемый, как NUMA (Non Uniform Memory Access).Здесь по прежнему фигурирует единое адресное пространство, но каждый процессор имеет локальную память. Доступ процессора к собственной локальной памяти производится напрямую, что намного быстрее, чем доступ к удаленной памяти через коммутатор или сеть. Такая система может быть дополнена глобальной памятью, тогда локальные ЗУ играют роль быстрой КЭШ – памяти для глобальной памяти.
Рис.г
Р3
Р2
Р1
Р0
МС
МС
МС
МС
МР
Подобная система позволяет увеличить высокопроизводительную работу 20процессоров, но при 30 и больше – производительность уже не возрастает.
В архитектурах с КЭШ памятью локальная память каждого процессора построена как большая КЭШ – память для быстрого доступа со стороны своего процессора. КЭши всех процессоров в совокупности рассматриваются, как глобальная память системы (СОМА). Собственно глобальная память отсутствует. Принципиальная особенность концепции выражается в динамике. Здесь данные не привязаны статически к определенному модулю памяти и не имеют уникального адреса, остающегося неизменным в течении всего времени существования переменной. В этой архитектуре данные переносятся в КЭШ память того процессора, который последним их запросил, при этом переменная не фиксирована уникальным адресом и в каждый момент времени может размещаться в любой физической ячейке. Перенос данных из одного локального КЭШа в другой не требует участия в данном процессе операционной системы, но подразумевает сложную и дорогостоящую аппаратуру управления памятью Для организации такого режима используют так так называемые каталоги КЭШей, Отметим также, что последняя копия элемента данных никогда из КЭШ памяти не удаляется.
Поскольку в архитектуре СОМА данные перемещаются в локальную КЭШ память процессора – владельца,такие ВС в плане производительности обладают существенным преимуществом над другими архитектурами. С другой стороны, если единственная переменная или две различные переменные,хранящиеся в одной строке одного и того же КЭШа требуется двум процессорам, эта строка КЭШа должна перемещаться между процессорами туда и обратно при каждом доступе к данным. Такие эффекты могут зависеть от деталей распределения памяти и приводить к непредсказуемым ситуациям.
Модель кэш – когерентного доступа к неоднородной памяти (ССNUMA) принципиально отличается от модели СОМА. В системе ССNUMA используется не кэш – память, а обычная физически распределенная память. Не происходит никакого копирования страниц или данных между ячейками паяти. Нет никакой программно реализованной передачи сообщений. Существует просто одна карта памяти с частями, физически связанными медным кабелем и умные аппаратные средства. Аппаратно – реализованная кэш – когерентность означает, что не требуется какого либо программного обеспечения для сохранения множества копий обновленных данных или их передачи. Со всем этим справляется аппаратный уровень. Доступ к локальным модулям памяти в разных узлах системы может производиться одновременно и происходит быстрее, чем к удаленным модулям памяти.
В этой концепции реализуется несколько подходов, но при этом их производительность отличается незначительно.
В целом ВС с общей памятью, построенные по схеме NUMA рассматривается как перспективный вид ВС МИМД- типа.
lektsii.net - Лекции.Нет - 2014-2024 год. (0.008 сек.)
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав