МВК с общедоступной памятью

Многопроцессорные вычислительные комплексы.

Рассмотренные выше OKMD – системы плохо приспособлены для параллельного выполнения различных потоков команд (разных программных ветвей одной задачи или программ разных задач). Такое выполнение стало осуществляться на нескольких параллельно работающих “полноправных” процессорах (содержащих УУ, АЛУ), использующих общую для них память или имеющих доступ лишь к собственной оперативной памяти. В последнем случае взаимодействие программ, выполняющихся на процессорах, осуществлялось за счет передачи (с поддержкой операционной системы) сообщений друг другу по коммуникациям, связывающим такие вычислительные узлы.

Под организацией общедоступной оперативной памяти МВК понимается возможность доступа за данными к любой ее ячейке при выполнении операций в любом процессоре комплекса.

Объединение процессоров на общей оперативной памяти с обеспечением одинакового времени доступа от всех процессоров определяет подкласс SMP (Symmetric multiprocessor). Преимуществом такой организации является простота программирования задач даже с учетом необходимости синхронизации и взаимного исключения программ ветвей (параллельных процессов) этих задач. Недостатком такого подхода является неэффективность подключения к общей памяти большого числа процессоров из-за возрастающих задержек выполнения операций в них в связи с увеличением, несмотря на значительное “расслоение” оперативной памяти, числа конфликтов при обращении к ней и, соответственно, времен ожидания данных при одновременном обращении к блокам памяти от многих процессоров. Объединение на общей памяти даже нескольких десятков процессоров становилось нерациональным.

Примером SMP – комплекса является отечественная вычислительная система “Эльбрус-2”, в котором через матричный коммутатор осуществляется эффективный доступ к памяти десяти процессоров. Через этот же коммутатор осуществлялось подключение к общей памяти специальных процессоров ввода-вывода, через которые осуществлялось подключение внешних устройств.

Другим вариантом использования общедоступной памяти для процессоров является ее распределение по многим вычислительным узлам, объединенных общей магистралью передачи данных, через которую процессор в каждом вычислительном узле при выполнении операций может иметь доступ к ячейкам памяти других вычислительных узлов. При этом время обращения к памяти увеличивается с удалением от процессора того вычислительного узла, к памяти которого происходит обращение. Такая организация вычислительной системы с общедоступной памятью носит название NUMA (Non Uniform Memory Access). Если при выполнении программы процессорами основное количество обращений за данными будет выполняться к памяти “своего” узла или близко расположенных узлов, то использование NUMA-системы будет эффективным при значительном числе вычислительных узлов. Достижение этого требует существенного усложнения программирования вычислений. В противном случае “масштабирование” NUMA –системы будет ограничено. Примерами NUMA-систем являются системы SGI Origin2000, Sun HPC 10000, IBM/Sequent NUMA-Q 200

Имеются вычислительные системы, содержащие в узлах NUMA – системы SMP – подсистемы (SMP - “кирпичи”). Примером такой системы является комплекс SPP-1200, где SMP–подсистемы (“гиперузлы”) объединяются в топологии “двойной тор”.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: