СТРУКТУРЫ ЭВМ С МНОЖЕСТВЕННЫМ ПОТОКОМ КОМАНД
В соответствии с классификацией Флинна к многопроцессорным ЭВМ относятся ЭВМ с множественным потоком команд и множественным потоком данных (МКМД-ЭВМ). Основы управления вычислительных процессом в таких ЭВМ и элементы теории управления изложены в списке литературы, приведённом в приложениях в списке литературы.
В основе МКМД-ЭВМ лежит традиционная последовательная организация программы, расширенная добавлением специальных средств для указания независимых, параллельно исполняемых фрагментов. Такими средствами могут быть операторы FORK и JOIN, скобки parbegin ... parend, оператор DO FOR ALL и др. Параллельно-последовательная программа достаточно привычна пользователю и позволяет относительно просто собирать парал-лельную программу из обычных последовательных программ. МКМД-ЭВМ имеет две разновидности: ЭВМ с общей и индивидуальной памятью. Структура этих ЭВМ представлена на рис. 3.1.
Рис. 3.1. Структура многопроцессорной ЭВМ с общей (а) и индивидуальной (б) памятью. Здесь: П - процессор, ИП - индивидуальная память
В качестве коммутатора на рис. 3.1 может использоваться любой коммутатор из рассмотренных в 2 главе книги Г.И. Шпаковского. Общая память для повышения пропускной способности обычно содержит более одного блока.
Главное различие между МКМД-ЭВМ с общей и индивидуальной (локальной, распределенной) памятью состоит в характере адресной системы. В машинах с общей памятью адресное пространство всех процессоров является единым, следовательно, если в программах нескольких процессоров встречается одна и та же переменная X, то эти процессоры будут обращаться в одну и ту же физическую ячейку общей памяти. Это вызывает как положительные, так и отрицательные последствия:
В системах с индивидуальной памятью каждый процессор имеет независимое адресное пространство и наличие одной и той же переменной X в программах разных процессоров приводит к обращению в физически разные ячейки индивидуальной памяти этих процессоров. Это приводит к необходимости физического перемещения данных между взаимодействующими программами в разных процессорах, однако, поскольку основная часть обращений производится каждым процессором в собственную память, то требования к коммутатору ослабляются и число процессоров в системах с распределенной памятью и коммутатором типа гиперкуб может достигать нескольких десятков и даже сотен.
Многопроцессорные ЭВМ с индивидуальной памятью
МКМД-ЭВМ с индивидуальной памятью получили большое распространение ввиду относительной простоты их архитектуры. В таких ЭВМ межпроцессорный обмен осуществляется с помощью передачи сообщений в отличие от описанных в предыдущем параграфе ЭВМ с общей памятью, где такой обмен отсутствует. Наиболее последовательно идея ЭВМ с индивидуальной памятью отражена в транспьютерах и параллельных системах, построенных на их основе.
Составлено по материалам книги Г.И. Шпаковский. Организация параллельных ЭВМ и суперскалярных процессоров