Лекция 9 План лекции 1) smpархитектура 2) mppархитектура 3) гибридная архитектура (numa)
Скачать 117.5 Kb.
|
9 АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ. ЛЕКЦИЯ 9 План лекции: 1) SMP-архитектура; 2) MPP-архитектура; 3) гибридная архитектура (NUMA); 4) организация когерентности многоуровневой иерархической памяти. 9.1 SMP-архитектура [10 (с. 23-25)] Определение: «Мультипроцессор (от англ. Multiprocessor, Multiprocessing) – это подкласс многопроцессорных компьютерных систем, где есть несколько процессоров и одно адресное пространство, видимое для всех процессоров. В классификации Флинна мультипроцессоры относятся к классу SM-MIMD-машин (SM –равноправный (симметричный) доступ к общей оперативной памяти). Мультипроцессор запускает одну копию ОС с одним набором таблиц, в том числе тех, которые следят, какие страницы памяти свободны». SMP (Symmetric MultiProcessing) – симметричная многопроцессорная архитектура. Главной особенностью систем с архитектурой SMP является наличие общей физической памяти, разделяемой всеми процессорами – рисунок 9.1. Рисунок 9.1 – Схематический вид 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-систем: 1) простота и универсальность для программирования. Архитектура SMP не накладывает ограничений на модель программирования, используемую при создании приложения: обычно используется модель параллельных ветвей, когда все процессоры работают независимо друг от друга. Однако можно реализовать и модели, использующие межпроцессорный обмен. Использование общей памяти увеличивает скорость такого обмена, пользователь также имеет доступ сразу ко всему объему памяти. Для SMP-систем существуют довольно эффективные средства автоматического распараллеливания; 2) простота эксплуатации. Как правило, SMP-системы используют систему кондиционирования, основанную на воздушном охлаждении, что облегчает их техническое обслуживание; 3) относительно невысокая цена. Недостаток – системы с общей памятью плохо масштабируются. Этот существенный недостаток SMP-систем не позволяет считать их по-настоящему перспективными. Причиной плохой масштабируемости является то, что в данный момент шина способна обрабатывать только одну транзакцию, вследствие чего возникают проблемы разрешения конфликтов при одновременном обращении нескольких процессоров к одним и тем же областям общей физической памяти. Вычислительные элементы начинают мешать друг другу. Момент возникновения такого конфликта зависит от скорости связи и от количества вычислительных элементов. Кроме того, системная шина имеет ограниченную (хотя и высокую) пропускную способность (ПС) и ограниченное количество слотов. Всё это препятствует увеличению производительности при увеличении числа процессоров и числа подключаемых пользователей. В реальных системах можно задействовать не более 32 процессоров. Для построения масштабируемых систем на базе SMP используются кластерные или NUMA-архитектуры. При работе с SMP-системами используют так называемую парадигму программирования с разделяемой памятью (Shared Memory Paradigm). 9.2 MPP-архитектура [10 (с. 25-26)] MPP (Massive Parallel Processing) – массивно-параллельная архитектура. Главная особенность такой архитектуры состоит в том, что память физически разделена – рисунок 9.2. В этом случае система строится из отдельных модулей, содержащих процессор, локальный банк операционной памяти (ОП), коммуникационные процессоры (R – Router - роутер) или сетевые адаптеры, иногда – жёсткие диски и/или другие устройства ввода/вывода. По сути, такие модули представляют собой полнофункциональные компьютеры. Рисунок 9.2 – Схематический вид архитектуры с раздельной памятью Доступ к банку ОП из данного модуля имеют только процессоры (ЦП) из этого же модуля. Модули соединяются специальными коммуникационными каналами. Пользователь может определить логический номер процессора, к которому он подключен, и организовать обмен сообщениями с другими процессорами. Используются два варианта работы операционной системы (ОС) на машинах MPP-архитектуры. В одном варианте полноценная ОС работает только на управляющей машине (Front-End), на каждом отдельном модуле функционирует сильно урезанный вариант ОС, обеспечивающий работу только расположенной в нём ветви параллельного приложения. Во втором варианте на каждом модуле работает полноценная UNIX-подобная ОС, устанавливаемая отдельно. Главным преимуществом систем с раздельной памятью является хорошая масштабируемость: в отличие от SMP-систем, в машинах с раздельной памятью каждый процессор имеет доступ только к своей локальной памяти, в связи с чем не возникает необходимости в потактовой синхронизации процессоров. Практически все рекорды по производительности на сегодня устанавливаются на машинах именно такой архитектуры, состоящих из нескольких тысяч процессоров (ASCI Red, ASCI Blue Pacific). Недостатки: 1) отсутствие общей памяти заметно снижает скорость межпроцессорного обмена, поскольку нет общей среды для хранения данных, предназначенных для обмена между процессорами. Требуется специальная техника программирования для реализации обмена сообщениями между процессорами; 2) каждый процессор может использовать только ограниченный объём локального банка памяти; 3) вследствие указанных архитектурных недостатков требуются значительные усилия для того, чтобы максимально использовать системные ресурсы. Именно этим определяется высокая цена программного обеспечения для массивно-параллельных систем с раздельной памятью. Системами с раздельной памятью являются суперкомпьютеры МВС-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). 9.3 Гибридная архитектура (NUMA) [10 (с. 26-27)] Главная особенность гибридной архитектуры NUMA (NonUniform Memory Access) – неоднородный доступ к памяти. Гибридная архитектура совмещает достоинства систем с общей памятью и относительную дешевизну систем с раздельной памятью. Суть этой архитектуры – в особой организации памяти, а именно: память физически распределена по различным частям системы, но логически она является общей, так что пользователь видит единое адресное пространство. Система построена из однородных базовых модулей (плат), состоящих из небольшого числа процессоров и блока памяти. Модули объединены с помощью высокоскоростного коммутатора. Поддерживается единое адресное пространство, аппаратно поддерживается доступ к удалённой памяти, т. е. к памяти других модулей, при этом доступ к локальной памяти осуществляется в несколько раз быстрее, чем к удаленной. По существу архитектура NUMA является MPP (массивно-параллельной ) архитектурой, где в качестве отдельных вычислительных элементов берутся SMP (симметричная многопроцессорная архитектура) узлы. Доступ к памяти и обмен данными внутри одного SMP-узла осуществляется через локальную память узла и происходит очень быстро, а к процессорам другого SMP-узла тоже есть доступ, но более медленный и через более сложную систему адресации. Структурная схема компьютера с гибридной сетью: четыре процессора связываются между собой при помощи кроссбара в рамках одного SMP-узла. Узлы связаны сетью типа «бабочка» (Butterfly) – рисунок 9.3. Впервые идею гибридной архитектуры предложил Стив Воллох, он воплотил её в системах серии Exemplar. Вариант Воллоха – система, состоящая из восьми SMP-узлов. Фирма HP купила идею и реализовала на суперкомпьютерах серии SPP. Идею подхватил Сеймур Крей (Seymour R. Cray) и добавил новый элемент – когерентный кэш, создав так называемую архитектуру ccNUMA (Cache Coherent Non-Uniform Memory Access), которая расшифровывается как «неоднородный доступ к памяти с обеспечением когерентности кэшей». Он её реализовал на системах типа Origin. В таблицах 9.1 и 9.2 приведены примеры систем с гибридной архитектурой. Рисунок 9.3 – Структурная схема компьютера с гибридной сетью Таблица 9.1 – Примеры ccNUMA-систем
Были созданы также мультипроцессоры и без когерентности кэша (nccNUMA) (смотри таблицу 9.2). Таблица 9.2 – Примеры nccNUMA систем (данные на 1998 год)
9.4 Организация когерентности многоуровневой иерархической памяти [10 (с. 28)] Понятие когерентности кэшей описывает тот факт, что все центральные процессоры получают одинаковые значения одних и тех же переменных в любой момент времени. Действительно, поскольку кэш-память принадлежит отдельному компьютеру, а не всей многопроцессорной системе в целом, данные, попадающие в кэш одного компьютера, могут быть недоступны другому. Чтобы этого избежать, следует провести синхронизацию информации, хранящейся в кэш-памяти процессоров. Для обеспечения когерентности кэшей существует несколько возможностей: – использовать механизм отслеживания шинных запросов (Snoopy Bus Protocol), в котором кэши отслеживают переменные, передаваемые к любому из центральных процессоров и, при необходимости, модифицируют собственные копии таких переменных; – выделять специальную часть памяти, отвечающую за отслеживание достоверности всех используемых копий переменных. На сегодня максимальное число процессоров в ccNUMA-системах может превышать 1000 (серия Origin3000). Обычно вся система работает под управлением единой ОС, как в SMP. Возможны также варианты динамического «подразделения» системы, когда отдельные «разделы» системы работают под управлением разных ОС. При работе с NUMA-системами, так же, как с SMP, используют так называемую парадигму программирования с общей памятью (Shared Memory Paradigm). Вариант 1 1. Назовите главную особенность систем с архитектурой SMP: A) неоднородный доступ к памяти B) наличие общей физической памяти, разделяемой всеми процессорами C) память физически разделена 2. Назовите основной недостаток систем с архитектурой SMP: A) плохая масштабируемость B) высокая цена C) сложность для программирования 3. Кэши являются когерентными, если ... A) все центральные процессоры получают одинаковые значения одних и тех же переменных в любой момент времени B) каждый следующий процессор получает данные только после обработки их предыдущим C) их объем совпадает Вариант 2 1. Назовите главную особенность систем с архитектурой MPP: A) неоднородный доступ к памяти B) наличие общей физической памяти, разделяемой всеми процессорами C) память физически разделена 2. Назовите основной недостаток систем с архитектурой MPP: A) высокая цена B) низкая скорость межпроцессорного обмена C) плохая масштабируемость 3. МВС-1000 является системой: A) NUMA B) MPP C) SMP Вариант 3 1. Назовите главную особенность архитектуры NUMA: A) неоднородный доступ к памяти B) сверхвысокая производительность C) наличие векторно-конвейерных процессоров 2. Почему архитектура NUMA называется гибридной? A) потому что каждый узел состоит из скалярного и векторного процессоров B) потому что архитектура NUMA является MPP-архитектурой, где в качестве отдельных вычислительных элементов берутся SMP-узлы C) сочетает SIMD и MIMD архитектуру 3. SGI Origin3000 является системой: A) ccNUMA B) NUMA C) SMP |