СТРУКТУРЫ ЭВМ С МНОЖЕСТВЕННЫМ ПОТОКОМ КОМАНД

В соответствии с классификацией Флинна к многопроцессорным ЭВМ относятся ЭВМ с множественным потоком команд и множественным потоком данных (МКМД-ЭВМ). Основы управления вычислительных процессом в таких ЭВМ и элементы теории управления изложены в списке литературы, приведённом в приложениях в списке литературы.

В основе МКМД-ЭВМ лежит традиционная последовательная организация программы, расширенная добавлением специальных средств для указания независимых, параллельно исполняемых фрагментов. Такими средствами могут быть операторы FORK и JOIN, скобки parbegin ... parend, оператор DO FOR ALL и др. Параллельно-последовательная программа достаточно привычна пользователю и позволяет относительно просто собирать парал-лельную программу из обычных последовательных программ. МКМД-ЭВМ имеет две разновидности: ЭВМ с общей и индивидуальной памятью. Структура этих ЭВМ представлена на рис. 3.1.

Рис. 3.1. Структура многопроцессорной ЭВМ с общей (а) и индивидуальной (б) памятью. Здесь: П - процессор, ИП - индивидуальная память

В качестве коммутатора на рис. 3.1 может использоваться любой коммутатор из рассмотренных в 2 главе книги Г.И. Шпаковского. Общая память для повышения пропускной способности обычно содержит более одного блока.

Главное различие между МКМД-ЭВМ с общей и индивидуальной (локальной, распределенной) памятью состоит в характере адресной системы. В машинах с общей памятью адресное пространство всех процессоров является единым, следовательно, если в программах нескольких процессоров встречается одна и та же переменная X, то эти процессоры будут обращаться в одну и ту же физическую ячейку общей памяти. Это вызывает как положительные, так и отрицательные последствия:

  1. Наличие общей памяти не требует физического перемещения данных между взаимодействующими программами, которые параллельно выполняются в разных процессорах. Это упрощает программирование и исключает затраты времени на межпроцессорный обмен.
  2. Несколько процессоров могут одновременно обращаться к общим данным и это может привести к получению неверных результатов. Чтобы исключить такие ситуации, необходимо ввести систему синхронизации параллельных процессов, что усложняет механизмы операционной системы.
  3. Поскольку при выполнении каждой команды каждым процессором необходимо обращаться в общую память, то требования к пропускной способности коммутатора этой памяти чрезвычайно высоки, что и ограничивает число процессоров в системах с общей памятью величиной 10...20.

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

Многопроцессорные ЭВМ с индивидуальной памятью

МКМД-ЭВМ с индивидуальной памятью получили большое распространение ввиду относительной простоты их архитектуры. В таких ЭВМ межпроцессорный обмен осуществляется с помощью передачи сообщений в отличие от описанных в предыдущем параграфе ЭВМ с общей памятью, где такой обмен отсутствует. Наиболее последовательно идея ЭВМ с индивидуальной памятью отражена в транспьютерах и параллельных системах, построенных на их основе.


Составлено по материалам книги Г.И. Шпаковский. Организация параллельных ЭВМ и суперскалярных процессоров