Максимов Н.В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем (2005) (1186253), страница 50
Текст из файла (страница 50)
Во втором варианте на каждом модуле устанавливается и работает полноценная UNIX-подобная ОС.Главным преимуществом систем с раздельной памятью являетсяхорошая масштабируемость: в отличие от SMP-систем в машинах сраздельной памятью каждый процессор имеет доступ только к своейлокальной памяти, в связи с чем не возникает необходимости в потактовой синхронизации процессоров.
Практически все рекорды попроизводительности на сегодняшний день устанавливаются на машинах именно такой архитектуры, состоящих из нескольких тысячпроцессоров (ASCI Red, ASCI Blue Pacific).Недостатки:• отсутствие общей памяти заметно снижает скорость межпроцессорного обмена, поскольку нет общей среды для храненияданных, предназначенных для обмена между процессорами.Требуется специальная техника программирования для реализации обмена сообщениями между процессорами;• каждый процессор может использовать только ограниченныйобъем локального банка памяти.254Глава 3. Вычислительные системыВследствие указанных архитектурных недостатков требуютсязначительные усилия для того, чтобы максимально использоватьсистемные ресурсы. Именно этим определяется высокая цена программного обеспечения для массивно-параллельных систем с раздельной памятьюПримером является сервер открытой параллельной обработкиUnisys OPUS корпорации Unisys, построенный на большом числемикропроцессоров.
Управление системой осуществляет модернизированная ОС Unix. Микропроцессоры образуют узлы коммуникационной сетки с пропускной способностью 175 Мбит/с. Каждый узелимеет память до 64 Мбайт. В одном корпусе могут находиться до64 узлов.Системы МРР выпускаются также корпорациями IBM, ICL иATandT.Системами с раздельной памятью являются суперкомпьютерыМВС-1000, IBM RS/6000 SP, SGI/CRAY T3E, системы ASCI,Hitachi SR8000, системы Parsytec. Машины последней серии CRAYТЗЕ от SGI, основанные на базе процессоров Dec Alpha 21164 с пиковой производительностью 1200 Мфлопс (CRAY T3E-1200), способны масштабировать до 2048 процессоров.Симметричная мультипроцессорная обработкаSymmetric Multiprocessing (SMP)SMP — архитектура суперкомпьютера, в которой группа процессоров работает с общей оперативной памятью (рис. 3.15).Память является способом передачи сообщений между процессорами, при этом все вычислительные устройства при обращении кней имеют равные права и одну и ту же адресацию для всех ячеекпамяти.Процессор 1Процессор 2Процессор NКэш-памятьКэш-памятьКэш-памятьПамятьРис.
3.15. Симметричная мультипроцессорная архитектура3.2. Примеры некоторых архитектур вычислительных систем255Работой управляет единственная копия операционной системы.Для ускорения обработки каждый процессор может также иметьсобственную кэш-память. Задания между процессами распределяются непосредственно при выполнении прикладного процесса. Нагрузка между процессорами динамически выравнивается, а обменданными между ними происходит с большой скоростью.
Достоинство этого подхода состоит в том, что каждый процессор видит всюрешаемую задачу в целом. Но, поскольку для взаимодействия используется лишь одна шина, то возникают повышенные требованияк ее пропускной способности. Соединение посредством шины применяется при небольшом (4—8) числе процессоров.В подобных системах возникает проблема организации когерентности многоуровневой иерархической памяти.Когерентность кэшей означает, что все процессоры получаютодинаковые значения одних и тех же переменных в любой моментвремени. Действительно, поскольку кэш-память принадлежит отдельному компьютеру, а не всей многопроцессорной системе в целом, данные, попадающие в кэш одного компьютера, могут бытьнедоступны другому. Чтобы избежать этого, следует провести синхронизацию информации, хранящейся в кэш-памяти процессоров.Для обеспечения подобной когерентности кэшей существуютнесколько возможностей:• использовать механизм отслеживания шинных запросов(snoopy bus protocol), в котором кэши отслеживают переменные, передаваемые к любому из центральных процессоров, ипри необходимости модифицируют собственные копии такихпеременных;• выделять специальную часть памяти, отвечающую за отслеживание достоверности всех используемых копий переменных.Возможность увеличения числа процессоров в SMP ограниченаиз-за использования общей памяти.
Более того, по той же причиневсе процессоры должны располагаться в одном корпусе. Между темпреимуществом SMP является то, что она может работать с прикладными программами, разработанными для однопроцессорныхсистем. Кроме этого, SMP использует обычные операционные системы. Например, операционную систему OS/2, сетевую операционную систему Windows NT. Корпорация Data General создала дляSMP специальную версию операционной системы UNIX.Наиболее известными SMP-системами являются SMP-серверыи рабочие станции на базе процессоров Intel (IBM, HP, Compaq,Dell, ALR, Unisys, DG, Fujitsu и др.) Обычно система работает подуправлением единой ОС (как правило, UNIX-подобной, но для256Глава 3.
Вычислительные системыIntel-платформ поддерживается Windows NT). ОС автоматически(в процессе работы) распределяет процессы по процессорам, ноиногда возможна и явная привязка.Основные преимущества 8МР-систем• простота и универсальность для программирования. Архитектура SMP не накладывает ограничений на модель программирования, используемую при создании приложения: обычноиспользуется модель параллельных ветвей, когда все процессоры работают абсолютно независимо друг от друга; однакоможно реализовать и модели, использующие межпроцессорный обмен.
Использование общей памяти увеличивает скорость такого обмена, пользователь также имеет доступ сразуко всему объему памяти. Для SMP-систем существуют сравнительно эффективные средства автоматического распараллеливания;• легкость в эксплуатации. Как правило, SMP-системы используют систему охлаждения, основанную на воздушном кондиционировании, что облегчает их техническое обслуживание;• относительно невысокая цена.Недостатки: системы с общей памятью, построенные на системной шине, плохо масштабируются.Этот важный недостаток SMP-систем не позволяет считать ихпо-настоящему перспективными. Причины плохой масштабируемости состоят в том, что в каждый момент времени шина способна обрабатывать только одну транзакцию, вследствие чего возникают проблемы разрешения конфликтов при одновременномобращении нескольких процессоров к одним и тем же областямобщей физической памяти.
Вычислительные элементы начинаютдруг другу мешать. Когда произойдет такой конфликт, зависит отскорости связи и от количества вычислительных элементов. В настоящее время конфликты могут происходить при наличии8—24 процессоров. Кроме того, системная шина имеет ограниченную (хоть и высокую) пропускную способность и ограниченное число слотов. Все это с очевидностью препятствует увеличению производительности при увеличении числа процессоров ичисла подключаемых пользователей. В реальных системах можноиспользовать не более 32 процессоров.
Для построения масштабируемых систем на базе SMP используются кластерные илиNUMA-архитектуры При работе с SMP-системами используюттак называемую парадигму программирования с общей памятью(shared memory paradigm).3.2. Примеры некоторых архитектур вычислительных систем257Гибридная архитектура (NUMA). Организация когерентностимногоуровневой иерархической памятиГлавная особенность гибридной архитектуры NUMA (nonuniformmemory access) — неоднородный доступ к памяти.Гибридная архитектура воплощает в себе удобства систем с общей памятью и относительную дешевизну систем с раздельной памятью.
Суть этой архитектуры — в методе организации памяти, а именно: память является физически распределенной по различным частям системы, но логически разделяемой, так что пользователь видитединое адресное пространство. Система состоит из однородных базовых модулей (плат), состоящих из небольшого числа процессоров иблока памяти. Модули объединены с помощью высокоскоростногокоммутатора. Поддерживается единое адресное пространство, аппаратно поддерживается доступ к удаленной памяти, т.
е. к памяти других модулей. При этом доступ к локальной памяти осуществляется внесколько раз быстрее, чем к удаленной. По существу архитектураNUMA является МРР (массивно-параллельной) архитектурой, где вкачестве отдельных вычислительных элементов берутся SMP-узлы.Пример структурной схемы компьютера с гибридной сетью(рис. 3.16): четыре процессора связываются между собой с помощьюкроссбара в рамках одного SMP-узла. Узлы связаны сетью типа «бабочка» (Butterfly).Впервые идею гибридной архитектуры предложил и воплотил всистемах серии Exemplar Стив Воллох. Вариант Воллоха — система,состоящая из восьми SMP-узлов.
Фирма HP купила идею и реализовала на суперкомпьютерах серии SPP Идею подхватил СеймурКрей (Seymour R. Cray), добавил новый элемент и воплотил в систе-Коммуникационная сетьПериферияРис. 3.16. Гибридная архитектура9 «Архитектура ЭВМ»258Глава 3. Вычислительные системымах серии Exemplar — когерентный кэш, создав так называемую архитектуру cc-NUMA (Cache Coherent Non-Uniform Memory Access),которая расшифровывается как «неоднородный доступ к памяти собеспечением когерентности кэшей».Известны также гибридные структуры с коммутатором(рис.
3.17). Здесь каждый процессор работает со своей памятью, номодули устройств памяти связаны друг с другом с помощью коммутатора (рис. 3.17, а). Коммутаторы, именуемые также узлами, могуттакже включаться между группами процессоров (ПР) и модулей памяти (П). Здесь сообщения между процессорами и памятью передаются через несколько узлов (рис. 3.17, б).УзелКоммутаторРис. 3.17.
Гибридная архитектура с коммутатором (а);многокаскадная коммутация (6)Наиболее известными системами архитектуры cc-NUMA являются: HP 9000 V-class в SCA-конфигурациях, SGI Origin3000, SunНРС 15000, IBM/Sequent NUMA-Q 2000. На настоящий моментмаксимальное число процессоров в cc-NUMA-системах может превышать 1000 (серия Origin3000). Обычно вся система работает подуправлением единой ОС, как в SMP. Возможны также варианты динамического «расслоения» системы, когда отдельные «разделы» системы работают под управлением разных ОС. При работе сNUMA-системами, также как с SMP, используется парадигма программирования с общей памятью.PVP-архитектураPVP (Parallel Vector Process) — параллельная архитектура с векторными процессорами.