Многопроцессорные вычислительные системы
Многопроцессорные вычислительные системы (МПВС) строятся путем комплексирования нескольких процессоров, работающих с общим полем оперативной памяти и общим набором периферийных устройств (рис. 12.7). Параллельная работа процессоров и распределение общих ресурсов ОП обеспечиваются под управлением общей операционной системы ОС.
По сравнению с ММВС здесь достигаются более высокая оперативность взаимодействия процессоров и более быстрая реакция на ситуации, возникающие как внутри системы, так и во внешней среде. По этой причине МПВС обеспечивают наиболее реальный путь построения вычислительных систем сверхвысокой производительности.
Однако МПВС имеют и существенные недостатки. Они, в первую очередь, связаны с использованием ресурсов общей оперативной памяти. При большом числе комплексируемых процессоров возможно возникновение конфликтных ситуаций, когда несколько процессоров обращаются одновременно к одним и тем же областям памяти. Кроме того, помимо процессоров к общей ОП подключаются также через каналы ввода - вывода многочисленные устройства ПУ. От того, насколько удачно решаются проблемы коммутации периферийных устройств и доступа к общей ОП, зависит эффективность применения МПВС.
251
Рис. 12.7. Структура многопроцессорной вычислительной системы
В многопроцессорных вычислительных системах получили дальнейшее развитие идеи параллелизма в обработке информации. В общем случае этот процесс, как известно, сводится к воздействию определенной последовательности команд (потока команд) на соответствующую последовательность данных (поток данных). Если в системе параллельно присутствуют независимые (несвязные) потоки команд или данных, то говорят о множественности таких потоков.
Исходя из возможности существования одиночных и множественных потоков команд и данных, все системы параллельной обработки по своей структуре могут быть разбиты на четыре класса:
- - системы с одиночным потоком команд и одиночным потоком данных (ОКОД);
- - системы с одиночным потоком команд и множественным потоком данных (ОКМД);
- - системы с множественным потоком команд и одиночным потоком данных (МКОД);
- - системы с множественным потоком команд и множественным потоком данных (МКМД).
Данная классификация была предложена Флинном (M. Flyrm) в начале 60 - х гг.
Структура типа ОКОД (или SISD - Single Instruction Single Data), приведенная на рис. 12.8, охватывает все однопроцессорные ЭВМ, для которых организован рассмотренный ранее мультипрограммный режим работы. Здесь параллелизм вычислений обеспечивается совмещением выполнения операций (микроопераций) отдельными блоками АЛУ, а также параллельной работой процессора и устройств ввода - вывода.
252
Рис. 12.8. Вычислительная система со структурой ОКОД
Структура типа ОКМД (или SIMD - Single Instruction Multiple Data), приведенная на рис. 12.9, содержит несколько потоков данных и один общий поток команд. Система содержит идентичные процессоры П1, П2, ..., Пn, управляемые одной и той же последовательностью команд. Каждый из этих процессоров обрабатывает свой поток данных.
Рис. 12.9. Вычислительная система со структурой ОКМД
Вычислительные системы с такой структурой часто называют векторными, так как в них хорошо реализуются задачи обработки массивов (векторов) данных, задачи решения линейных и нелинейных алгебраических и дифференциальных уравнений, задачи теории поля и др.
Структура типа МКОД (или MISD - Multiple Instruction Single Data), показанная на рис. 12.10, содержит цепочку последовательно соединенных
253
процессоров П1, П2, ..., Пn так, что информация на выходе одного процессора является входной информацией для другого процессора.
Рис. 12.10. Вычислительная система со структурой МКОД
С помощью множественного потока команд, поступающего в процессоры, решение задачи для заданного потока данных как бы развертывается последовательно в конвейерной цепочке этих процессоров, По этой причине системы со структурой типа МКОД принято называть конвейерными (системы с.магистральной обработкой информации).
В простейшем случае конвейерная обработка данных реализуется в виде внутрипроцессорного конвейера микрооперации, при котором поток данных проходит последовательно через специализированные блоки АЛУ, каждый из которых настроен на выполнение определенной микрооперации.
Структура типа МКМД ( или MIMD Multiple Instruction Multiple Data), показанная на рис. 12.11, является наиболее общей и универсальной. В ней реализуются множественные потоки и команд, и данных. При этом процессоры, хотя имеют определенную самостоятельность, достаточно сильно связаны общей памятью команд и данных, а их совместная работа организована общей операционной системой.
Данная структура содержит определенное количество сравнительно простых процессоров, соединенных между собой и памятью так, что образуется матрица, узлами которой являются сами процессоры. По этой причине вычислительные системы, имеющие структуру типа МКМД, получили название матричных.
254
Рис. 12.11. Вычислительная система со структурой МКМД
По существу, в структуре МКМД речь идет о наиболее широком распараллеливании вычислительного процесса, при котором отдельные части этого процесса реализуются соответствующими процессорами. Последние, в свою очередь, согласованно взаимодействуют между собой, обеспечивая эффективное решение задачи в целом. Иными словами, осуществляется параллельно - последовательная обработка, когда наряду с конвейером команд реализуется конвейер данных. Сочетание этих двух конвейеров позволяет значительно повысить производительность вычислительных систем. Общая теоретическая база для разработки таких систем в настоящее время пока отсутствует, хотя исследования в этом направлении ведутся интенсивно.
Применение многопроцессорных структур является наиболее реальным средством построения высокопроизводительных ЭВМ (суперЭВМ) и сверхпроизводительных вычислительных систем.
Нужно сказать, что увеличение производительности вычислительных систем всегда связано с необходимостью значительного увеличения емкости оперативной памяти. На современном этапе развития вычислительной техники действует интуитивно сформированный и подтверждаемый на практике критерий сбалансированности ресурсов ЭВМ - производительности в 1 миллион операций в секунду должно соответствовать не менее 1 Мбайта оперативной памяти.
255
Среди рассмотренных структур многопроцессорных вычислительных систем нашли практическое применение, в основном, параллельно - конвейерная и параллельно - векторная структуры (т.е. структуры МКОД и ОКМД).
Следует специально отметить, что в нашей стране еще в 1966 г. под руководством академика С.А.Лебедева была разработана ЭВМ БЭСМ - 6, в которой применялся конвейер команд. Хотя данная ЭВМ по своей элементной базе относилась к ЭВМ 2 - го поколения, многие годы она была самой быстродействующей ЭВМ в нашей стране. Производительность БЭСМ - 6 составляла 1 млн. операций в секунду.
Примером многопроцессорных систем с конвейерной обработкой информации была система STAR - 100 (1973 г.) с быстродействием до 100 млн. операций в секунду. Среди отечественных систем подобного типа можно назвать разработанные в 70 - х - 80 - х гг многопроцессорные системы Эльбрус 1, 2, 3, 3Б.
При построении суперЭВМ на основе многопроцессорных вычислительных систем более высокую эффективность на практике (по сравнению с конвейерной структурой) показала параллельно - векторная структура типа ОКМД.
Такая структура использовалась, например, при создании первой суперЭВМ ILLIAC IV (1972 г.) с производительностью около 200 млн. операций в секунду.
Начиная с 1974 г. лидерство в разработке подобных суперЭВМ захватила фирма Gray Research. Производительность созданных этой фирмой суперЭВМ Gray 1, 2, 3, 4 неуклонно растет и в настоящее время достигла нескольких десятков млрд. операций в секунду, а емкость оперативной памяти значительно превысила 1 Гбайт.
В начале 80 - х гг. в нашей стране была создана параллельная система ПС - 2000, которая также относится к классу параллельно - векторных систем типа ОКМД. Центральную часть системы образует мультипроцессор, состоящий из 64 процессорных элементов и обеспечивающий суммарную производительность около 200 млн. операций в секунду.
Важным условием эффективного функционирования всех многопроцессорных структур является обеспечение возможности доступа всех процессоров системы к общей оперативной памяти и к общим периферийным устройствам.
С увеличением числа процессоров, модулей ОП, каналов ввода - вывода и соответствующих ПУ становится ясно, насколько усложняется топология многопроцессорной системы. В настоящее время для этой цели используются три типа структурной организации МПВС: с общей шиной; с перекрестной коммутацией; с многовходовыми устройствами ОП.
В системах с общей шиной связь устройств между собой организуется принципиально так же, как и для однопроцессорных ЭВМ с общей шиной. В любой момент времени такой интерфейс обеспечивает связь только
256
между двумя устройствами. Если потребность в обмене существует более чем у двух устройств, то организуются очереди, которые обслуживаются общей шиной в зависимости от приоритетов устройств.
Несомненные достоинства такой организации - простота и достаточно низкая стоимость технической реализации. К числу недостатков можно отнести относительно низкую надежность, зависящую от надежности единственного для всех устройств интерфейса типа "Общая шина".
От этих недостатков полностью свободны МПВС с перекрестной коммутацией. Идея структурной организации таких систем заключается в том, что все связи между процессорами П, модулями ОЗУ и каналами ввода - вывода КВВ осуществляются с помощью специального устройства коммутационной.матрицы КМ (рис. 12.12).
Рис. 12.12. МПВС с перекрестной коммутацией
Коммутационная матрица позволяет связывать друг с другом любую пару устройств, причем таких пар может быть достаточно много; связи не зависят друг от друга. Возможность одновременной связи нескольких пар устройств позволяет добиться в системе высокой производительности. Кроме того, к достоинствам структуры с перекрестной коммутацией можно отнести унифицированность интерфейсов всех устройств, а также возможность разрешения всех конфликтов в коммутационной матрице. Важно отметить и то, что нарушение какой - то связи не приводит к выходу из строя всего комплекса, а лишь к отключению соответствующего устройства, т.е. надежность таких комплексов достаточно высока.
Вместе с тем, организация МПВС с перекрестной коммутацией имеет определенные недостатки. Прежде всего, это сложность, громоздкость и достаточно высокая стоимость коммутационной матрицы, особенно при
257
большом числе комплексируемых устройств. Если в коммутационной матрице не предусмотреть заранее большого числа входов, то введение в систему дополнительных устройств потребует установки новой коммутационной матрицы.
В многопроцессорных системах с многовходовыми ОЗУ все, что связано с коммутацией устройств, осуществляется в ОЗУ (рис.12.13).
Рис. 12.13. МПВС с многовходовыми ОЗУ
В отличие от МПВС с перекрестной коммутацией, имеющих централизованное устройство коммутации, в МПВС с многовходовыми ОЗУ средства коммутации распределены между несколькими устройствами. Такой способ организации МПВС сохраняет все преимущества систем с перекрестной коммутацией, несколько упрощая при этом саму систему коммутации. В МПВС с многовходовыми ОЗУ также просто решается вопрос о выделении каждому процессору своей области оперативной памяти, недоступной другим процессорам.
Рассмотренные компоненты структурной организации МПВС, как и в однопроцессорных ЭВМ, дополняются их соответствующей функциональной организацией, обеспечивающей необходимый характер взаимодействия устройств системы при реализации вычислительного процесса. Основным средством организации всех процессов обработки информации в системе является операционная система (ОС). Кроме обычных функций, выполняемых ОС при мультипрограммной работе, в многопроцессорных системах возникают такие задачи, как распределение ресурсов и заданий между процессорами, синхронизация вычислительных процессов при решении несколькими процессорами одной задачи, планирование с учетом оптимальной загрузки всех процессоров. Эти и другие обстоятельства делают операционную систему МПВС достаточно сложной.
258
251 :: 252 :: 253 :: 254 :: 255 :: 256 :: 257 :: 258 :: Содержание