МНОГОПРОЦЕССОРНЫЕ КОМПЛЕКСЫ
Многопроцессорный вычислительный комплекс
(МПВК) – это комплекс, включающий в себя два или более процессоров, имеющих общую оперативную память, общие периферийные устройства и работающих под управлением единой операционной системы (ОС), которая, в свою очередь, осуществляет общее управление техническими и программными средствами комплекса. Следует оговорить, что каждый из процессоров может иметь индивидуальные, доступные только ему ОЗУ и периферийные устройства. Все перечисленное весьма существенно, так как делает возможной гибкую организацию параллельной обработки информации и позволяет наиболее эффективно использовать все ресурсы комплекса.
На рис. 1 представлена упрощенная схема МПВК, содержащая три процессора, два модуля ОЗУ и одну подсистему ввода – вывода информации (ПВВ). Даже для такого простого варианта схема оказывается достаточно сложной, так как в МПВК должен быть обеспечен доступ любого процессора и любого канала ввода – вывода к любой ячейке ОЗУ, любого процессора к любому каналу и периферийному устройству. Если представить теперь, что процессоров существенно больше, что ОЗУ по соображениям надежности и удобства наращивания емкости выполнено в виде нескольких модулей, а подсистема ввода – вывода включает в себе несколько каналов и большое число периферийных устройств, то становится ясным, насколько сложна топология МПВК. Если же учесть то обстоятельство, что для работы ОС аппаратные средства должны обеспечивать работу с переменными логическими адресами ОЗУ, периферийных устройств и каналов ввода – вывода, защиту памяти от взаимного влияния различных программ и возможность запуска одним процессором другого, сложность аппаратной реализации МПВК становится ясной в полной мере.
Рис. 1. Связи в МПВК
Непростые задачи возникают и при организации вычислительного процесса в МПВК., т. е. при построении ОС, которые являются основным средством организации всех процессов обработки информации в комплексе. Кроме обычных функций, выполняемых ОС при мультипрограммной обработке информации, возникают такие задачи, как распределение ресурсов и заданий между процессорами, синхронизация процессов при решении несколькими процессорами одной задачи, планирование с учетом оптимизации загрузки всех процессоров. При этом надо иметь в виду, что в процессе работы в комплексе возникает большое число конфликтных ситуаций, которые должны обрабатываться ОС. Эти и ряд других обстоятельств и факторов, связанных с обеспечением высокой надежности, делают ОС МПВК чрезвычайно сложной.
Однако, несмотря на все трудности, связанные с аппаратной и программной реализацией, МПВК получают все большее распространение, так как обладают рядом достоинств, основные из которых:
высокая надежность и готовность за счет резервирования и возможности реконфигурации;
высокая производительность за счет возможности гибкой организации параллельной обработки информации и более полной загрузки всего оборудования;
высокая экономическая эффективность за счет повышения коэффициента использования оборудования комплекса.
Рассматривая процесс появления и развития МПВК, по-видимому, следует признать, что первоначально перед МПВК ставилась только задача обеспечения высокой надежности системы.
Неслучайно поэтому, что одним из первых (а может быть, и самым первым) МПВК был комплекс D–825, созданный фирмой «Барроуз» (США) в 1968 г. для систем военного назначения. Комплекс включал в себя 4 процессора, 16 модулей ОЗУ, 10 каналом ввода – вывода и до 256 периферийных устройств, т. е. был весьма представительным МПВК, по тем меркам. Надо сказать, что эта первая попытка была весьма удачной – поставленные задачи были полностью решены. Вместе с тем создание первых же МПВК выявили и возможности достижения с их помощью высокой производительности. В настоящее время МПВК чаще создаются именно с такой целью.
Типы структурной организации МПВК.
Существует три типа структурной организации МПВК: с общей шиной; с перекрестной коммутацией; с многовходовыми ОЗУ.
В комплексах с общей шиной
проблема связей всех устройств между собой решается крайне просто: все они соединяются общей шиной, выполненной в виде совокупности проводов или кабелей, по которым передаются информация, адреса и сигналы управления (рис. 2, а).
Интерфейс является односвязным, т. е. обмен информацией в любой момент времени может происходить только между двумя устройствами. Если потребность в обмене существует более чем у двух устройств, то возникает конфликтная ситуация, которая разрешается с помощью системы приоритетов и организации очередей в соответствии с этим. Обычно функции арбитра выполняет либо процессор, либо специальное устройство, которое регистрирует все обращения к общей шине и распределяет шину во времени между всеми устройствами комплекса.
Рис. 2. МПВК с общей шиной
Несомненные достоинства структуры с общей шиной – простота, в том числе изменения комплекса, добавления или изъятия отдельных устройств, а также доступность модулей ОЗУ для всех остальных устройств. Следствием всего этого является достаточно низкая стоимость комплекса.
Вместе с тем комплексы с общей шиной не лишены определенных недостатков. Первый – невысокое быстродействие, так как одновременный обмен информацией возможен между двумя устройствами, не более. По этой причине в комплексах с общей шиной число процессоров не превосходит двух-четырех. Этот недостаток может быть несколько компенсирован путем использования общей шины с высоким быстродействием, большим, чем быстродействие входящих в комплекс устройств. Однако этот путь приводит к усложнению и удорожанию комплекса. Второй недостаток МПВК с общей шиной заключается в относительно низкой надежности системы из-за наличия общего элемента – шины. Надо иметь в виду, что надежность общей шины определяется не только надежностью проводов и кабелей (их собственная надежность достаточно высока), но и надежностью всех соединений, входных и выходных цепей устройства. Отказ хотя бы одного из элементов приводит к отказу всего комплекса. Этот недостаток можно компенсировать за счет введения резервной шины (рис. 2.7, б).
Хотя это несколько усложняет комплекс, однако надежность его существенно возрастает. Если же резервную шину сделать активной, т. е. работающей одновременно с основной, то можно не только повысить надежность, но и увеличить производительность комплекса за счет того, что обмен информацией может осуществляться одновременно между двумя парами устройств.
Общая шипа может быть организована различными способами – принципиально так же, как и для однопроцессорных ЭВМ с общей шиной. Характерным примером является комплекс СМ-1420, в котором используется общая шипа однопроцессорных ЭВМ этой системы.
Полностью лишены недостатков, присущих МПВК. с общей шиной, МПВК с перекрестной коммутацией.
Идея структурной организации таких ВК заключается в том, что все связи между устройствами осуществляются с помощью специального устройства – ко
). Коммутационная матрица (КМ) позволяет связывать друг с другом любую пару устройств, причем таких пар может быть сколько угодно: связи не зависят друг от друга.
Рис. 3. МПВК с перекрестной коммутацией
В МПВК с перекрестной коммутацией нет конфликтов из-за связей, остаются только конфликты из-за ресурсов. Возможность одновременной связи нескольких пар устройств позволяет добиваться очень высокой производительности комплекса. Важно отметить и такое обстоятельство, как возможность установления связи между устройствами на любое, даже на длительное время, так как это совершенно не мешает работе других устройств, зато позволяет передавать любые массивы информации с высокой скоростью, что также способствует повышению производительности комплекса. Заметим, что в МПВК с общей шиной передача информации массивами, т. е. занятие типы одной парой устройств на длительный отрезок времени, обычно допускается лишь в крайних случаях, так как это приводит к длительным простоям остальных устройств.
Кроме того, к достоинствам структуры с перекрестной коммутацией можно отнести простоту и унифицированность интерфейсов всех устройств, а также возможность разрешения всех конфликтов в коммутационной матрице. Важно отметить и то, что нарушение какой-то связи приводит не к выходу из строя всего комплекса, а лишь к отключению какого-либо устройства, т. е. надежность таких комплексов достаточно высока. Однако и организация МПВК с перекрестной коммутацией не свободна от недостатков.
Прежде всего – сложность наращивания ВК. Если в коммутационной матрице заранее не предусмотреть большого числа входов, то введение дополнительных устройств в комплекс потребует установки новой коммутационной матрицы. Существенным недостатком является и то, что коммутационная матрица при большом числе устройств в комплексе становится сложной, громоздкой и достаточно дорогостоящей. (Надо учитывать то обстоятельство, что коммутационные матрицы строятся обычно на схемах, быстродействие которых существенно выше быстродействия схем и элементов основных устройств, – только при этом условии реализуются все преимущества коммутационной матрицы.) Это обстоятельство в значительной степени усложняет и удорожает комплексы.
Рис.4. МПВК с многовходовым ОЗУ
Для того чтобы упростить и удешевить ВК, коммутацию устройств осуществляют с помощью двух и даже более коммутационных матриц. На рис. 3, б
представлен МПВК, включающий в себя две матрицы: КМЦУ – матрицу для центральных устройств (процессоров, ОЗУ и каналов ввода – вывода) и КМПУ – матрицу для периферийных устройств. Схемы последней могут иметь существенно меньшее быстродействие, чем схемы первой, да к тому же обе коммутационные матрицы будут значительно проще и дешевле, чем одна общая коммутационная матрица с высоким быстродействием.
Перекрестная коммутация довольно широко используется при построении ВК, в частности практически всех МПВК фирмы «Барроуз» (в том числе и упомянутого выше комплекса D-825).
В МПВК с многовходовыми ОЗУ
все, что связано с коммутацией устройств, осуществляется в ОЗУ. В этом случае модули ОЗУ имеют число входов, равное числу устройств, которые к ним подключаются, т. е. для каждого устройства предусматривается свой вход в ОЗУ. Структура такого МПВК показана на рис. 4, а.
В отличие от ВК с перекрестной коммутацией, которые имеют централизованное коммутационное устройство, в МПВК с многовходовыми ОЗУ средства коммутации распределены между несколькими устройствами. Такой способ организации МПВК сохраняет все преимущества систем с перекрестной коммутацией, несколько упрощая при этом саму систему коммутации. Для наращивания системы должны быть предусмотрены дополнительные входы в ОЗУ. Правда, введение дополнительных модулей ОЗУ не вызывает затруднений.
В МПВК с многовходовыми ОЗУ очень просто решается вопрос о выделении каждому процессору своей оперативной памяти, недоступной другим процессорам. Такая организация показана на рис. 4, б.
Выделение индивидуальной памяти каждому процессору позволяет хранить в ней информацию, которая необходима только одному процессору: различные таблицы и данные, копии некоторых модулей операционной системы и др. Это позволяет избежать части конфликтов, которые неизбежно возникают при общей оперативной памяти. Кроме того, уменьшается вероятность искажения информации в ОЗУ другими процессорами. Однако такие БК имеют тот недостаток, что в случае выхода из строи какого-либо процессора доступ кего памяти затруднен и информация может быть переписана в другой модуль ОЗУ только через канал ввода – вывода и внешнее ЗУ, что требует много времени.
Приведенные три типа структурной организации исчерпывают существующие построения МПВК, полностью удовлетворяющих тому определению, которое дано в начале этого параграфа. Такие МПВК в литературе называют классическими или истинными МПВК.
Рис. 5. Комплекс ЕС-1065.
Рис. 6. Комплекс повышенной надежности
Вместе с тем нередко МПВК называют комплексы, лишь частично удовлетворяющие этому определению, например любые комплексы, в которых имеется несколько процессоров, а иногда даже матричные и конвейерные, которые (в отличие от классических МПВК) не относятся к комплексам с множественным потоком команд и множественным потоком данных. Кроме того, иногда к МПВК относят ЭВМ, имеющие не одно общее арифметическо-логическое устройство, а несколько операционных устройств (ОУ), каждое из которых выполняет определенную группу операций и может работать совершенно независимо от других. Таким образом, на первый взгляд может покачаться, что такой комплекс имеет несколько процессоров, каждый из которых связан с общим ОЗУ. Однако все ОУ работают под управлением одной программы.
Но вот ЭВМ ЕС-1065, в которой применяются множественные ОУ, с полным правом можно называть МПВК, так как кроме этих ОУ имеется два процессора команд (ПК), причем каждый может работать по собственной программе (рис. 5). В этом комплексе налицо все элементы: несколько независимых процессоров, работающих с общедоступными ОЗУ, имеющих общие периферийные устройства и работающих под управлением общей операционной системы. По типу структурной организации комплекс ЕС-1065 может быть отнесен к МПВК с многовходовыми ОЗУ.
Нередко к МПВК относят комплексы, являющиеся по существу ММВК, но в которых для достижения более высокой надежности резервирование осуществляется не «помашинно», а по устройствам. Структурная схема одного из таких ВК приведена на рис. 6. Комплекс первоначально работает как трехмашинный со сравнением результатов на выходе. Результат используется по методу «голосования». При несовпадении результата с помощью системы контроля определяется и отключается неисправное устройство. Эти функции выполняются конфигуратором, контролирующим состояние комплекса. Такой комплекс обладает высокой надежностью, однако, как видим, несмотря на наличие трех процессоров, его нельзя назвать многопроцессорным.