Многомашинные и многопроцессорные системы

Реализация каталогов.

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

4.1. Концепция комплексирования однопроцессорных ЭВМ

В основе этой концепции лежит сравнительная оценка возможностей однопроцессорных ЭВМ, многомашинных и многопроцессорных систем. Рассмотрим некоторую стандартную однопроцессорную ЭВМ, которую обозначим через [р+т]9 где р и т - ее стандартные процессор и оперативная память соответственно. Пусть теперь Р -процессор с удвоенной производительностью по сравнению с р, а Л/- оперативная память с удвоенными емкостью и пропускной способностью каналов по сравнению с т. Рассмотрим, кроме стандартной ЭВМ, однопроцессорную ЭВМ со стандартным процессором р и удвоенной памятью М и однопроцессорную ЭВМ с процессором удвоенной производительности Р и удвоенной памятью А/, которые обозначим через [р+М] и [Р+М] соответственно. Наконец, рассмотрим совокупность двух стандартных ЭВМ, которую обозначим через [2(р+т)], и/двухпроцессорную систему, состоящую из двух стандартных процессоров р и общей для них оперативной памяти удвоенной емкости А/, которую обозначим через [2р+М].

Результаты сравнительной оценки четырех последних системных структур приведены в таблице 4.1.В этой таблице использованы следующие условные обозначения для качества системных структур по указанным в таблице критериям:

• 0 - обычные возможности,

• 1- улучшенные возможности,

• 2 - самые лучшие возможности;

Которые обеспечиваются рассматриваемыми структурами (оценки 0,1и 2 не содержат смыслового значения конкретных чисел). Из данных таблицы видно, что двухпроцессорная конфигурация [2р + М] обладает некоторыми преимуществами в определенных областях, однако надо иметь в виду, что ер производительность не достигает удвоенной производительности конфигурации [р+т],т. е. производительности конфигурации [Р+Л4]. Следует отметить, что двухпроцессорная конфигурация с общей памятью [2р I М} равноценна другим конфигурациям или превосходит их по критериям критической готовности, выполнения особо трудоемких заданий и работы в условиях кратковременных перегрузок, т. е. при пиковых нагрузках. Недостаток этой конфигурации по критерию частоты перезапуска системы является следствием повышенной сложности ее операционной системы и других управляющих механизмов, что может приводить к необходимости относительно более частых перезапусков, Наконец, меньшая надежность хранения данных в такой конфигурации по сравнению с парой продублированных машин

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

В современных однопроцессорных ЭВМ могут предусматриваться четыре уровня комплексирования:

• на уровне процессоров для синхронизации и управления,

• на уровне каналов ввода-вывода при помощи адаптеров,

• на уровне оперативной памяти (за счет возможностей много входовой памяти),

• на уровне внешней памяти.

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

Исторически первыми были созданы однопроцессорные системы, хотя идеи параллелизма обработки информации возникли практически одновременно с идеями построения самих вычислительных машин. Так, еще в середине прошлого века Ч. Бэббидж отмечал возможность совмещения длинных серий идентичных вычислений.

 

4.2. Многомашинные комплексы

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

Цели, которые ставятся при объединении ЭВМ в комплекс, могут быть различными, и они определяют характер связей между ЭВМ. Чаще всего основной целью создания ММВК является или увеличение производительности, или повышение надежности, или одновременно и то и другое. Однако при достижении одних и тех же целей связи между ЭВМ могут существенно различаться.

По характеру связей между ЭВМ комплексы можно разделить на три типа:

• косвенно-, или слабосвязанные;

• прямосвязанные;

• сателлитные.

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

При такой связи может быть несколько способов организации работы комплекса.

1.Резервная ЭВМ находится в выключенном состоянии (ненагруженный резерв) и включается только при отказе основной ЭВМ. Естественно, для того чтобы резервная ЭВМ начала выдавать результаты вместо основной, потребуется определенное время, которое определяется временем, необходимым для включения ЭВМ, вхождением ее в режим, а также временем, отводимым для проверки ее исправности. Это время может быть достаточно большим. Такая организация возможна, когда система, в которой работает ЭВМ, не критична по отношению к некоторым перерывам или остановкам в процессе решения задач. Это обычно имеет место в случаях, когда ЭВМ не выдает управляющую информацию.

2. Резервная ЭВМ находится в состоянии полной готовности и в любой момент может заменить основную ЭВМ (нагруженный резерв», причем либо не решает никаких задач, либо работает в режиме самоконтроля, решая контрольные задачи. В этом случае переход в работе от основной к резервной ЭВМ может осуществляться достаточно быстро, практически без перерыва в выдаче результатов. Однако следует заметить, что основная ЭВМ обновляет в общем ВЗУ информацию, необходимую для продолжения решения, не непрерывно, а с определенной дискретностью, поэтому резервная ЭВМ начинает решать задачи, возвращаясь на некоторое время назад. Такая организация допустима и в тех случаях, когда ЭВМ работает непосредственно в контуре управления, а управляемый процесс достаточно медленный и возврат во времени не оказывает заметного влияния. При организации работы по первому и второму вариантам ЭВМ используются нерационально: одна ЭВМ всегда простаивает. Простоев можно избежать, загружая ЭВМ решением каких-то вспомогательных задач, не имеющих отношения к основному процессу. Это повышает эффективность системы - производительность практически удваивается. 3. Для того чтобы полностью исключить перерыв в выдаче результатов, обе ЭВМ, и

основная и резервная, решают одновременно одни и те же задачи, но результаты выдает только основная ЭВМ, а в случае выхода ее из строя результаты начинает выдавать резервная ЭВМ. При этом общее ВЗУ используется только для взаимного контроля. Иногда такой комплекс дополняется устройством для сравнения результатов с целью контроля. Если при этом используются три ЭВМ, то возможно применение метода голосования, когда окончательный результат выдается только при совпадении результатов решения задачи не менее чем от двух ЭВМ. Это повышает и надежность комплекса в целом, и достоверность выдаваемых результатов. Разумеется, в этом варианте высокая надежность и оперативность достигается весьма высокой ценой -увеличением стоимости системы.

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

Существенно большей гибкостью обладают прямосвязанные ММВК. В прямо связанных комплексах существуют три вида связей:

• общее ОЗУ (ООЗУ);

• прямое управление, иначе связь процессор - процессор;

• адаптер канал - канал (АКК).

Связь через общее ОЗУ гораздо сильнее связи через ВЗУ. Хотя первая связь также носит характер информационной связи и обмен информацией осуществляется по принципу «почтового ящика», однако, вследствие того что процессоры имеют прямой доступ к ОЗУ, все процессы в системе могут протекать ссущественно большей скоростью, а разрывы в -выдаче результатов при переходах сосновной ЭВМ на резервную сокращаются до минимума. Недостаток связи, через общее ОЗУ заключается в том, что при выходе из строя ОЗУ, которое является сложным электронным устройством, нарушается работа всей системы. Чтобы этого избежать, приходится строить общее ОЗУ из нескольких модулей и резервировать информацию. Это, в свою очередь, приводит к усложнению организации вычислительного процесса в комплексе и в конечном счете к усложнению операционных систем. Следует отметить также и то, что связи через общее ОЗУ существенно дороже, чем через ВЗУ.

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

Связь через адаптер канал - канал в значительной степени устраняет недостатки связи через общее ОЗУ ивместе с тем почти не уменьшает возможностей по обмену информацией между ЭВМ по сравнению с общим ОЗУ. Сущность этого способа связи заключается в том, что связываются между собой каналы двух ЭВМ с помощью специального устройства -адаптера. Обычно это устройство подключается к селекторным каналам ЭВМ. Такое подключение адаптера обеспечивает достаточно быстрый обмен информацией между ЭВМ, при этом обмен может производиться большими массивами информации. В отношении скорости передачи информации связь через АКК мало уступает связи через общее ОЗУ, а в отношении объема передаваемой информации - связи через общее ВЗУ. Функции АКК достаточно просты: это устройство должно обеспечивать взаимную синхронизацию работы двух ЭВМ и буферизацию информации при ее передаче, однако большое разнообразие режимов работы двух ЭВМ и необходимость реализации этих режимов существенно усложняет устройство АКК.

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

В реальных комплексах одновременно используется не один вид связи между ЭВМ, а два или более. В том числе очень часто в прямо-связанных комплексах присутствует и косвенная связь через ВЗУ.

Для комплексов с сателлитными ЭВМ характерным является не способ связи, а принципы взаимодействия ЭВМ. Структура связей в сателлитных комплексах не отличается от связей в обычных ММВК: чаще всего связь между ЭВМ осуществляется через АКК Особенностью же этих комплексов является то, что в них, во-первых, ЭВМ существенно различаются по своим характеристикам а во-вторых, имеет место определенная соподчиненность машин и различие функций, выполняемых каждой ЭВМ. Одна из ЭВМ, основная, является, как правило, высокопроизводительной и предназначается для основной обработки информации. Вторая, существенно меньшая по производительность, называется сателлитной или вспомогательной ЭВМ. Ее назначение - организация обмена информацией основной ЭВМ с периферийными устройствами, ВЗУ, удаленными абонентами, подключенными через аппаратуру передачи данных к основной ЭВМ Кроме того, сателлитыая ЭВМ может производить предварительную сортировку информации, преобразование ее в форму, удобную для обработки на основной ЭВМ, приведение выходной информации к виду, удобному для пользователя, и др. Сателлитная ЭВМ, таким образом, избавляет основную высокопроизводительную ЭВМ от выполнения многочисленных действий, которые не требуют ни большой разрядности, ни сложных операций, т. е. операций, для которых большая, мощная ЭВМ не нужна. Более того, с учетом характера выполняемых сателлитной машиной операций она может быть ориентирована на выполнение именно такого класса операций и обеспечивать даже большую производительность, чем основная ЭВМ.

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

Появление в последнее время дешевых и простых микро-ЭВМ в немалой степени способствует развитию сателлитных комплексов. Сателлитные комплексы решают только одну задачу: увеличивают производительность комплекса, не оказывая заметного влияния на показатели надежности.

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

4.3. Многопроцессорные комплексы. Многопроцессорный вычислительный комплекс (МПВК)-это комплекс, включающий в себя два или более процессоров, имеющих общую оперативную память, периферийные устройства и работающих под управлением единой операционной системы (ОС), которая, в свою очередь, осуществляет общее управление техническими и программными средствами комплекса. Следует оговорить, что каждый из процессоров может иметь индивидуальные, доступные только ему ОЗУ и периферийные устройства. Все перечисленное весьма существенно, так как делает возможною гибкую организацию параллельной обработки информации и позволяет наиболее эффективно использовать все ресурсы комплекса.

На рис. 32 представлена упрощенная схема МПВК, содержащая три процессора, два модуля ОЗУ и одну подсистему ввода-вывода информации (ПВВ). Даже для такого простого варианта схема оказывается достаточно сложной, так как в МПВК должен быть доступ любого процессора и любого канала ввода - вывода к любой ячейке ОЗУ, любого процессора к любому каналу и периферийному устройству Если представить теперь, что процессоров существенно больше, что ОЗУ по соображениям надежности и удобства наращивания емкости выполнено в виде нескольких модулей а подсистема ввода - вывода включает в себе несколько каналов и большое число периферийных устройств, то становится ясным, насколько сложна топология МПВК. Если же учесть то обстоятельство, что для работы ОС аппаратные средства должны обеспечивать работу с переменными логическими адресами ОЗУ, периферийных устройств и каналов ввода - вывода, защиту памяти от взаимного влияния различных программ и возможность запуска одним процессором другого, сложность аппаратной реализации МПВК становится ясной в полной мере.

Непростые задачи возникают и при организации вычислительного процесса в МПВК, т. е. при построении ОС, которые являются основным средством организации всех процессов обработки информации в комплексе. Кроме обычных функций, выполняемых ОС при мультипрограммной обработке информации, возникают такие задачи» как распределение ресурсов и заданий между процессорами, синхронизация процессов при решении несколькими процессорами одной задачи, планирование с учетом оптимизации загрузки всех процессоров. При этом надо иметь в виду, что в процессе работы в комплексе возникает большое число конфликтных ситуаций, которые должны обрабатываться ОС. Эта и ряд других обстоятельств и факторов, связанных с обеспечением высокой надежности, делают ОС МПВК чрезвычайно сложной.

Однако, несмотря на все трудности, связанные с аппаратной и программной реализацией, МПВК получают все большее распространение, так как обладают рядом достоинств, основные из которых:

• высокая надежность и готовность за счет резервирования и возможности реконфигурации;

• высокая производительность за счет возможности гибкой организации параллельной обработки информации и более полной загрузки всего оборудования;

• высокая экономическая эффективность за счет повышения коэффициента использования оборудования комплекса.

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

Неслучайно поэтому, что одним из первых (а может быть, и самым первым) МПВК был комплекс В-В25, созданный фирмой «Барроуз» (США) в 1968 г. для систем военного назначения. Комплекс включал в себя 4 процессора, 16 модулей ОЗУ, 10 каналов ввода -вывода и до 256 периферийных устройств, т. е. был весьма представительным МПВК, по тем меркам. Надо сказать что эта первая попытка была весьма удачной - поставленные задачи были полностью решены. Вместе с тем создание первых же МПВК выявили и возможности достижения с их помощью высокой производительности В настоящее время МПВК чаще создаются именно с такой целью.

Типы структурной организации МПВК.

Существует три типа структурной организации МПВК:

• с общей шиной;

• с перекрестной коммутацией;

• с многовходовыми ОЗУ.

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

Несомненные достоинства структуры с общей шиной - простота, в том числе изменения комплекса, добавления или изъятия отдельных устройств, а также доступностью модулей памяти для всех остальных устройств. Следствием всего этого является достаточно низкая стоимость комплекса.

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

Системы с общей шиной при разделении ее времени имеют следующие характерные особенности.

1. Такая организация обеспечивает наименьшую общую стоимость оборудования системы.

2. Такая организация обеспечивает наименьшую сложность (шина связи может быть полностью пассивным элементом).

3. Изменение конфигурации оборудования системы не вызывает каких-либо трудностей и осуществляется посредством добавления или исключения функциональных устройств.

4. Общие возможности системы ограничены скоростью передачи информации через шину (эта скорость передачи может ограничивать общую производительность системы).

5. Отказ шины приводит к катастрофическому отказу всей системы. Л

6. Расширение системы путем добавления функциональных устройств может привести, начиная с некоторой конфигурации к уменьшению производительности системы (пропускной способности системы).

7. Достижимая эффективность системы при одновременном использовании всех готовых к работе устройств является наиболее низкой по сравнению с двумя другими типами структур многопроцессорных систем.

8. Структура с общей шиной может быть рекомендована обычно только для сравнительно малых систем.

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

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

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

Прежде всего - сложность наращивания ВК. Если в коммутационной матрице заранее не предусмотреть большого числа входов, то введение дополнительных устройств в комплекс потребует установки новой коммутационной матрицы. Существенным недостатком является и то, что коммутационная матрица при большом числе устройств в комплексе становится сложной, громоздкой и достаточно дорогостоящей. (Надо учитывать то обстоятельство, что коммутационные матрицы строятся обычно на схемах быстродействие которых существенно выше быстродействия схем и элементов основных устройств, - только при этом условии реализуются все преимущества коммутационной матрицы.) Это обстоятельство в значительной степени усложняет и удорожает комплексы.

Системы с перекрестным коммутатором имеют следующие характерные особенности.

1. Такая организация характеризуется наибольшей сложностью внутренних связей.

2. Функциональные устройства являются наиболее простыми и дешевыми, поскольку логика управления и коммутации реализуется в коммутаторе (интерфейсы функциональных устройств, связанных с коммутатором, являются простыми и обычно не требуют шинных сопрягающих устройств).

3. Такая организация обычно используется только в многопроцессорных системах, поскольку основная коммутационная матрица требуется для объединения некоторых функциональных устройств в рабочую конфигурацию.

4. Такая организация обеспечивает потенциально наиболее высокую общую скорость

передачи информации.

5. Расширение системы (добавление функциональных устройств) обычно приводит к увеличению ее общей производительности.

6. Такая организация обеспечивает потенциально наиболее высокую эффективность системы.

7. Такая организация позволяет наращивать систему без перепрограммирования операционной системы.

8. Расширение системы ограничено только размером матричного коммутатора.

9. Надежность коммутатора и, следовательно, системы в целом, может быть повышена посредством сегментации и/или введения избыточности в рамках коммутатора.

10. Такая организация позволяет обычно без каких-либо трудностей удалить из системы плохие функциональные устройства и разделить систему на несколько отдельных систем.

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

В МПВК с многовходовыми ОЗУ очень просто решается вопрос о выделении каждому процессору своей оперативной памяти, недоступной другим процессорам. Такая организация показана на рис. 33. Выделение индивидуальной памяти каждому процессору позволяет хранить в ней информацию, которая необходима только одному процессору: различные таблицы и данные, копии некоторых модулей операционной системы и пр. Это позволяет избежать части конфликтов, которые неизбежно возникают при общей оперативной памяти. Кроме того, уменьшается вероятность искажения информации в ОЗУ другими процессорами. Однако такие ВК имеют тот недостаток, что в случае выхода из строя какого-либо процессора доступ к его памяти затруднен и информация может быть переписана в другой модуль ОЗУ только через канал ввода - вывода и внешнее ЗУ, что требует много времени.

Системы с множеством шин и многовходовыми модулями памяти имеют следующие характерные особенности.

1) Такая организация требует наиболее дорогих устройств оперативной памяти, поскольку основные цепи управления и коммутации входят в устройства памяти.

2) Функциональные устройства обеспечивают построение относительно дешевых однопроцессорных конфигураций.

3) Такая организация обеспечивает потенциально очень высокую скорость передачи информации в системе полной конфигурации.

4) Размер и конфигурация возможных дополнений к системе определяются и ограничиваются числом и типом имеющихся типов памяти, хотя и могут применяться расширители входов (соответствующий выбор осуществляется на ранней стадии разработки системы и в дальнейшем изменить его очень трудно).

5) Такая организация требует большого числа кабелей и сопрягающих устройств.

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

Важнейшей характеристикой матричного коммутатора перекрестных связей является то, что он обеспечивает одновременные передачи для всех модулей оперативной памяти. В целях улучшения гибкости доступа к периферийному оборудованию, упрощения и удешевления ВК, коммутацию устройств осуществляют с помощью двух и даже более коммутационных матриц. На рис. 34 представлен МПВК, включающий в себя две матрицы: КМЦУ - матрицу для центральных устройств (процессоров, ОЗУ и каналов ввода - вывода) и КМПУ - матрицу для периферийных устройств. Схемы последней могут иметь существенно меньшее быстродействие, чем схемы первой, да к тому же обе коммутационные матрицы будут значительно проще и дешевле, чем одна общая коммутационная матрица с высоким быстродействием

4.4.Особенности организации вычислительных процессов.

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

Многомашинный ВК в наибольшей степени приспособлен для решения потока не связанных между собой задач, т. е. такой совокупности задач, когда исходные данные, а также окончательные или промежуточные результаты решения одной задачи не используются при решении других задач. Строго говоря, в ММВК можно достаточно эффективно решать и слабосвязанные задачи, т. е. задачи, при решении которых объем взаимно передаваемой информации относительно невелик. При этом нетрудно заметить, что чем больше объем взаимно передаваемой информации, тем в большей степени снижается производительность системы, так как часть времени приходится расходовать на обмен информацией.

Анализ показывает, что решение одной задачи несколькими машинами в составе ММВК может быть оправданным только при наличии связи между ними через общее ОЗУ.

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

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

1) обеспечения обмена информацией между ЭВМ;

2) взаимного контроля состояния ЭВМ;

3) проведения регламентных работ;

4) взаимодействия ВК с оператором.

Программы обмена информацией могут быть различными по сложности в зависимости от характера межмашинных связей.

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

Программы взаимного контроля состояния ЭВМ необходимы в тех случаях, когда ВК предназначен для обеспечения повышенной надежности

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

Хотя в некоторых случаях все эти программы могут быть достаточно сложными, однако их общий объем сравнительно невелик - редко превышает 10 % объема ОС.

Многопроцессорные ВК имеют существенно большие возможности и большую гибкость, чем ММВК, как в отношении повышения надежности, так и в отношении организации параллельных вычислений. Эти возможности определяются тем, что все процессоры могут работать с общей памятью, иметь в своем непосредственном распоряжении все периферийные устройства (в том числе и ВЗУ) и управляться единой ОС.

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

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

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

Наконец, весьма важным является то, что МПВК позволяет повысить коэффициент использования оборудования.

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

Основные функциональные возможности, которыми должна обладать операционная система микропроцессорной системы, состоят в следующем:

1. распределение ресурсов и управление ими;

2. защита множества системных таблиц и данных;

3. предотвращение тупиковых ситуаций;

4. обработка ненормальных окончаний вычислений;

5. балансировка нагрузки ввода-вывода;

6. балансировка нагрузки процессоров;

7. реконфигурация.

Фактически только две последних функции ОС являются специфическими для многопроцессорных систем.

В настоящее время известны три типа организации вычислительного процесса в МПВК и соответственно три типа функционирования ОС:

1) ведущий - ведомый;

2) раздельное выполнение заданий в каждом процессоре;

3) симметричная, или однородная, обработка информации всеми процессорами.

Организация работы МПВК по принципу «ведущий - ведомый» является наиболее простой. Один из процессоров управляет работой всех остальных, т. е. берет на себя функции распределения задач и ресурсов, организует необходимую передачу информации, производит переназначение задач в случае выхода из строя какого-либо процессора, отключение неисправных устройств и т. д. Остальные процессоры выполняют только функции непосредственной обработки: являются исполнительными процессорами.

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

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

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

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

Значительно большей универсальностью обладает организация обработки информации с раздельным выполнением заданий в каждом процессоре. В этом случае все процессоры равноправны и каждый выполняет как супервизорные, так и исполнительные функции, но процессоры не свободны в выборе задач: каждому процессору заранее определяется набор задач. Практически заранее распределяются и ресурсы между процессорами. Каждая задача полностью выполняется одним процессором. При этой организации каждый процессор обслуживает только самого себя, удовлетворяя лишь свои потребности. Так как операционная система общая для всех процессоров, то супервизорные программы должны обладать повторной входимостью, т. е. несколько процессоров должны иметь возможность работать с одной и той же программой ОС. Чтобы избежать такого требования к ОС, иногда используется другой способ - каждый процессор имеет свою копию ОС.

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

Такая организация обработки информации в МПВК делает его похожим на ММВК. Однако есть и существенные отличия: прежде всего ресурсы используются гораздо эффективнее, так как общее число устройств может быть значительно меньше, чем в ММВК; кроме того, при необходимости обеспечить высокую надежность решения определенных задач резервирование может быть осуществлено проще и эффективнее за счет того, что все процессоры используют общие ресурсы. И опять-таки значительно компенсирует недостатки этого способа организации вычислении относительная простота системы.

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

При симметричной обработке на каждый процессор могут возлагаться и общесистемные, и супервизорные, и исполнительные функции. Однако такая организация не свободна и от некоторых недостатков. Основные из них - большое число конфликтных ситуаций и сложность ОС.