Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

Нажав на кнопку "Отправить", Я даю своё согласие на автоматизированную обработку указанной информации, распространяющейся на осуществление всех действий с ней, включая сбор, передачу по сетям связи общего назначения, накопление, хранение, обновление, изменение, использование, обезличивание, блокирование, уничтожение и обработку посредством внесения в электронную базу данных, систематизации, включения в списки и отчетные формы.


Основные архитектуры многопроцессорных систем.

Основные архитектуры многопроцессорных систем.

 

Идея многоядерного процессора на первый взгляд проста: в кристалле интегрируются два-четыре, или несколько процессоров, но конкретные её реализации в процессорах AMD и Intel заметно различаются и  определяют значительные качественные различия между процессорами этих двух компаний. При разработке новых процессоров, естественно, использовался опыт создания многопроцессорных систем (вариантов создания многопроцессорных систем очень много), но уже давно существует их общепринятая классификация: SMP, NUMA, кластерные системы.

Многопроцессорные SMP-системы (Symmetrical Multi Processor systems). В подобной системе все процессоры имеют совершенно равноправный доступ к общей оперативной памяти (см. рис. 1) и не возникает никаких специфичных проблем, связанных с архитектурой компьютера. Но создавать подобные системы крайне трудно так как 2-8 процессоров в такой системе практически являются пределом для стоящих разумные деньги SMP-систем (например, мощная система SMP с 32-мя CPU стоит несколько миллионов долларов), поэтому (в большинстве практических вариантов многопроцессорных систем) экономически целесообразно использование менее дорогостоящих архитектур.

QIP Shot - Image: 2016-07-28 13:32:55

Рис. 1. Блок-схема многопроцессорной SMP-системы

Многопроцессорные NUMA-системы (Non-Uniform Memory Access systems). Память в данного типа многопроцессорной системе является «неоднородной». С одной её частью обмен данными идет «быстрее», с другой частью памяти обмен идет значительно  «медленнее», а с некоторыми участками памяти обмен может происходить с длительными паузами ожидания. У каждого из микропроцессоров в NUMA-системе существует своя, быстрая «локальная» оперативная память, которая соединена с локальной памятью других процессоров относительно медленными каналами связи. Обращения к «своей» памяти происходят быстро, к «чужой» - медленнее, причем чем «дальше» чужая память расположена, тем медленнее получается доступ к ней (см. рис. 2).

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

QIP Shot - Image: 2016-07-28 13:35:39 

Рис. 2. Блок-схема многопроцессорной NUMA-системы

 

Многопроцессорные кластерные системы. Кластерная система (рис. 3) состоит из некоторого числа «почти самостоятельных» компьютеров, которые называют узлами кластера («ноды»), объединенных между собой быстродействующими линиями связи. В кластерных многопроцессорных системах «общая память» может отсутствовать, но, при желании, её можно создать используя для этого «очень неоднородную» NUMA-систему. С кластерной системой удобнее работать в «явном» виде, явно описывая в программе все пересылки данных между его узлами. Программист создавая программы для NUMA-системы, почти не задумываясь об особенности функционирования многопроцессорной среды и где берутся необходимые для работы потоков данные. При работе с кластером требуется очень жестко распределять кто, что и где делает, а это создает массу неудобств для программистов, и, как следствие, существенно ограничивает область применения кластерных систем, хотя аппаратная реализация кластерных систем обходится значительно дешевле других вариантов.

QIP Shot - Image: 2016-07-28 13:36:24 

Рис. 3. Блок-схема многопроцессорной кластерной системы

 

 «Исторически» сложилось, что фирма Intel при создании многопроцессорных систем в основном предпочитает создавать SMP-системы, а корпорации AMD, IBM и Sun используют различные архитектурные варианты NUMA-систем. При создании сверхмощных суперкомпьютеров, как правило используют различные варианты кластерных архитектур.


Лицензия