SMP – однородный доступ к памяти (общая память)
UMA – Uniform Memory Access
SMP архитектура (symmetric multiprocessing) - cимметричная многопроцессорная архитектура. Главной особенностью систем с архитектурой SMP является наличие общей физической памяти, разделяемой всеми процессорами.
1. SMP-система строится на основе высокоскоростной системной шины, к слотам которой подключаются функциональные блоки трех типов: процессоры (ЦП), оперативная память (ОП), подсистема ввода/вывода (I/O).
2. Память является способом передачи сообщений между процессорами.
3. Все вычислительные устройства при обращении к ОП имеют равные права и одну и ту же адресацию для всех ячеек памяти.
4. Последнее обстоятельство позволяет очень эффективно обмениваться данными с другими вычислительными устройствами.
5. SMP-архитектура используется в cерверах и РС на базе процессоров Intel, AMD, Sun, IBM, HP
6. SMP-система работает под управлением единой ОС (либо UNIX-подобной, либо Windows). ОС автоматически (в процессе работы) распределяет процессы по процессорам, но иногда возможна и явная привязка.
(+) : простота, «отработанность» базовых принципов
(-) : весь обмен м/д процессором и памятью осущ. по 1 шине – узкое горлышко арх-ры – ограничение производительности, масштабируемости.
Пример: Архитектура Sun Fire T2000. Архитектура UltraSPARC T1.
MPP – архитектура: Massive parallel processing
Система с массовым параллелизмом. В основе лежал транспьютер – мощный универсальный процессор, особенностью которого было наличие 4 линков (коммуникационные каналы связи). Каждый линк состоит из двух частей, служащих для передачи информации в противоположных направлениях, и используется для соединения транспьютеров между собой и подключения внешних устройств. Архитектура:множество узлов, каждые узел – ОП+ЦП
Классическая МРР-архитектура: каждый узел соединен с 4 узлами по каналу «точка-точка».
Пример: Intel Peragon
Кластерная архитектура
Реализация объединения машин, представляющегося единым целым для ОС, системного ПО, прикладных программами пользователей.
Типы кластеров
- Системы высокой надежности/готовности (High Availability Systems, HA).
- Системы для высокопроизводительных вычислений (High Performance, HP, Compute clusters ).
- Многопоточные системы.
- Load-balancing clusters. (распределение вычислительной нагрузки)
Пример: архитектура кластера theHIVE
5. NUMA архитектура Non Uniform Memory Access – неоднородный доступ к памяти
Каждый процессор имеет доступ к своей и к чужой памяти (для доступа в чужую память используется коммутационная сеть или даже проц чужого узла). Доступ к памяти чужого узла может поддерживаться аппаратно: спец. контроллеры.
- : дорого, плохая масштабируемость.
Сейчас: NUMA осущ доступ к чужой памяти программно.
• Вычислительная система NUMA состоит из набора узлов (содержит один или несколько процессоров, на нем работает единственная копия ОС), которые соединены между собой коммутатором либо быстродействующей сетью.
• Топология связей разбивается на несколько уровней. Каждый из уровней предоставляет соединения в группах с небольшим числом узлов. Такие группы рассматриваются как единые узлы на более высоком уровне.
• ОП физически распределена, но логически общедоступна.
• В зависимости от пути доступа к элементу данных, время, затрачиваемое на эту операцию, может существенно различаться.
• Примеры конкретных реализаций: cc-NUMA, СОМА, NUMA-Q
Пример: HP Integrity SuperDome
Упрощенные блок-схемы SMP (а) и MPP (б)
- Пять основных архитектур высокопроизводительных ВС, их краткая характеристика, примеры. Сравнение кластерной архитектуры и NUMA.
В кластере каждый процессор имеет доступ только в своей памяти, в NUMA не только к своей, но и к чужой (для доступа в чужую память используется коммутационная сеть и процессор чужого узла).
- SMP архитектура. Принципы организации. Достоинства, недостатки. Масштабируемость в «узком» и «широком» смысле. Область применения, примеры ВС на SMP.
SMP архитектура (symmetric multiprocessing) - cимметричная многопроцессорная архитектура. Главной особенностью систем с архитектурой SMP является наличие общей физической памяти, разделяемой всеми процессорами.
1. SMP-система строится на основе высокоскоростной системной шины, к слотам которой подключаются функциональные блоки трех типов: процессоры (ЦП), оперативная память (ОП), подсистема ввода/вывода (I/O).
2. Память является способом передачи сообщений между процессорами.
3. Все вычислительные устройства при обращении к ОП имеют равные права и одну и ту же адресацию для всех ячеек памяти.
4. Последнее обстоятельство позволяет очень эффективно обмениваться данными с другими вычислительными устройствами.
5. SMP используется в cерверах и рабочих станциях на базе процессоров Intel, AMD, Sun, IBM, HP.
6. SMP-система работает под управлением единой ОС (либо UNIX-подобной, либо Windows). ОС автоматически (в процессе работы) распределяет процессы по процессорам, но иногда возможна и явная привязка.
Принципы организации:
• SMP система состоит из нескольких однородных процессоров и массива общей памяти.
• Один из часто используемых в SMP архитектурах подходов для формирования масштабируемой, общедоступной системы памяти, состоит в однородной организации доступа к памяти посредством организации масштабируемого канала память-процессоры.
• Каждая операция доступа к памяти интерпретируется как транзакция по шине процессоры-память.
• В SMP каждый процессор имеет по крайней мере одну собственную кэш-память (а возможно, и несколько). Можно сказать, что SMP система - это один компьютер с несколькими равноправными процессорами.
• Когерентность кэшей поддерживается аппаратными средствами.
• Все остальное - в одном экземпляре: одна память, одна подсистема ввода/вывода, одна операционная система.
• Слово "равноправный" означает, что каждый процессор может делать все, что любой другой. Каждый процессор имеет доступ ко всей памяти, может выполнять любую операцию ввода/вывода, прерывать другие процессоры.
Масштабируемость:
• В «узком» смысле: возможность подключения аппаратных средств в некоторых пределах (процессоры, память, интерфейсы).
• В «широком» смысле: линейный рост показателя производительности при увеличении аппаратных средств.
Достоинства:
• простота и универсальность для программирования. Архитектура SMP не накладывает ограничений на модель программирования, используемую при создании приложения: обычно используется модель параллельных ветвей, когда все процессоры работают абсолютно независимо друг от друга - однако, можно реализовать и модели, использующие межпроцессорный обмен. Использование общей памяти увеличивает скорость такого обмена, пользователь также имеет доступ сразу ко всему объему памяти.
• легкость в эксплуатации. Как правило, SMP-системы используют систему охлаждения, основанную на воздушном кондиционировании, что облегчает их техническое обслуживание.
• относительно невысокая цена.
• преимущество, связанное с параллелизмом. Неявно производимая аппаратурой SMP пересылка данных между кэшами является наиболее быстрым и самым дешевым средством коммуникации в любой параллельной архитектуре общего назначения. Поэтому при наличии большого числа коротких транзакций (свойственных, например, банковским приложениям), когда приходится часто синхронизовать доступ к общим данным, архитектура SMP является наилучшим выбором; любая другая архитектура работает хуже.
• архитектура SMP наиболее безопасна. Из этого не следует, что передача данных между кэшами желательна. Параллельная программа всегда будет выполняться тем быстрее, чем меньше взаимодействуют ее части. Но если эти части должны взаимодействовать часто, то программа будет работать быстрее на SMP.
Недостатки:
SMP-cистемы плохо масштабируемы:
1. Системная шина имеет ограниченную (хоть и высокую) пропускную способность и ограниченное число слотов, так называемое «узкое горлышко».
2. В каждый момент времени шина способна обрабатывать только одну транзакцию, вследствие чего возникают проблемы разрешения конфликтов при одновременном обращении нескольких процессоров к одним и тем же областям общей физической памяти. Когда произойдет такой конфликт, зависит от скорости связи и от количества вычислительных элементов.
Все это препятствует увеличению производительности при увеличении числа процессоров и числа подключаемых пользователей. В реальных системах эффективно можно использовать не более 8-16-32 процессоров.
Область применения: для работы с банковскими приложениями
Пример: Архитектура Sun Fire T2000. Архитектура UltraSPARC T1.
- SMP архитектура. Совершенствование и модификация SMP архитектуры. SMP в современных многоядерных процессорах. Когерентность КЭШа.
SMP архитектура (symmetric multiprocessing) - cимметричная многопроцессорная архитектура. Главной особенностью систем с архитектурой SMP является наличие общей физической памяти, разделяемой всеми процессорами.
Совершенствование и модификация SMP:
Пример: Архитектура QBB серверных систем серии GS DEC
С целью увеличения производительности шины произведена попытка убрать шину, но оставить общий доступ к памяти --> переход и замена общей шины локальным коммутатором (или системой коммутаторов): каждый процессор в каждый момент времени скоммутирован с 4 банками памяти.
- каждый проц работает с каким-то банком памяти,
- переключается на другой банк памяти
- начинает работу с другим банком памяти.