·  Резервная ЭВМ находится в выключенном состоянии (ненагруженный резерв) и включается только при отказе основной ЭВМ.

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

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

Рис. 3.1. Связи ЭВМ в составе ММВС

Прямосвязанные ММВС обладают существенно большой гибкостью. В ММВС существуют три вида связей (рис. 3.1): общее ОЗУ (ООЗУ); прямое управление, иначе связь процессор – процессор; адаптер канал – канал (АКК).

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

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

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

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

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

Сателлитные ММВС значительно увеличивают производительность, не оказывая заметного влияния на показатели надежности.

Многопроцессорные вычислительные системы

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

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

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

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

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

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

Существует три типа структурной организации МПВС: с общей шиной; с перекрестной коммутацией; с многовходовыми ОЗУ.

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

Рис. 3.2. МПВС с общей шиной

Достоинством такой структуры является простота, в том числе изменения комплекса, а также доступность модулей ОЗУ для всех остальных устройств.

Недостатками является невысокое быстродействие (одновременный обмен информацией возможен между двумя устройствами, не более), относительно низкая надежность системы из-за наличия общего элемента – шины.

НЕ нашли? Не то? Что вы ищете?

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

Рис. 3.3. МПВС с перекрестной коммутацией

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

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

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

Рис. 3.4. МПВС с многовходовым ОЗУ

В МПВС с многовходовыми ОЗУ все, что связано с коммутацией устройств, осуществляется в ОЗУ. В этом случае модули ОЗУ имеют число входов, равное числу устройств, которые к ним подключаются. Структура такого МПВC показана на рис. 3.4.

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

Кроме приведенных структурных организаций ММВС и МПВС нередко встречаются и смешанные.

Типовые вычислительные структуры и программное обеспечение

Типичным представителем мультипроцессорной системы является представленная компанией AMD в начале 2002 МПВС на базе новых процессора Athlon MP и логики AMD-760MPX (MultiProcessor eXtended – мультипроцессорное расширение). Построенная компанией AMD система представляет собой двухпроцессорную МПВС и является основой для построения высокопроизводительных рабочих станций и серверов, нацеленных на обработку больших массивов данных, аудио - и видеопотоков в реальном времени, многозадачность, а также повышенные вычисления с плавающей запятой. На рисунке 3.5. представленная структура МПВС.

Рис. 3.5. Структура МПВС AMD-760MPX (Шина LPC используется для подключения КВВ и BIOS)

Рассматриваемая система представляет собой типичную SMP-систему, т. е. (Symmetric Multiprocessing) систему с симметричной многопроцессорной обработкой. При построении таких систем особое значение для производительности приобретает способ передачи данных от ЦП по системной шине и оптимизация работы системной памяти. В AMD-760MPX эта проблема решается принципу «точка-точка», т. е. каждый из процессоров может напрямую обмениваться данными с северным мостом системной логики (микросхема AMD-762 System Controller). В отличие от схемы с разделяемой шиной, узкое место которой – шина ОЗУ, данное решение минимизирует периоды ожидания в работе системы и исключает простои одного из процессоров, тогда как другой, перегруженный вычислениями, занимает под обмен данными всю полосу пропускания системной шины.

Повышению производительности в немалой степени способствует применяемая память DDR SDRAM, общий объем которой может достигать 4 Гбайт, использование которой совместно с 266 МГц системной шиной позволило значительно повысить общую пропускную способность на участке ЦП – северный мост AMD-762. Скорость обмена информацией участке «процессор-память» может достигать максимальной скорости 2,1 Гбайт/c.

Использование БИС AMD-768 (Peripheral Bus Controller), позволяет работать с семью устройствами PCI, включая интегрированные Ethernet - и SCSI-контроллеры. Эта же микросхема управляет AC’97-аудиоконтроллером, а также арбитром шины, допуская подключение через соответствующий EIDE-контроллер до восьми внешних устройств с интерфейсом UDMA 33/66/100.

Особенности ОС мультипроцессорных систем.

Системы с конвейерной обработкой данных

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

Конвейеризация (или конвейерная обработка) в общем случае основана на разделении подлежащей исполнению функции на более мелкие части, называемые ступенями, и выделении для каждой из них отдельного блока аппаратуры. Так обработку любой машинной команды можно разделить на несколько этапов (несколько ступеней), организовав передачу данных от одного этапа к следующему. Получаем очевидный выигрыш в скорости обработки за счет совмещения прежде разнесенных во времени операций. Предположим, что в операции можно выделить пять микроопераций, каждая из которых выполняется за одну единицу времени. Если есть одно неделимое последовательное устройство, то 100 пар аргументов оно обработает за 500 единиц. Если каждую микрооперацию выделить в отдельный этап (или иначе говорят - ступень) конвейерного устройства, то на пятой единице времени на разной стадии обработки такого устройства будут находится первые пять пар аргументов, а весь набор из ста пар будет обработан за 5+99=104 единицы времени - ускорение по сравнению с последовательным устройством почти в пять раз (по числу ступеней конвейера).

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

-  выборка команды - IF (по адресу, заданному счетчиком команд, из памяти извлекается команда);

-  декодирование команды / выборка операндов из регистров - ID;

-  выполнение операции / вычисление эффективного адреса памяти - EX;

-  обращение к памяти - MEM;

-  запоминание результата - WB.

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

Команда

Номер такта

1

2

3

4

5

6

7

8

9

Команда i

IF

ID

EX

MEM

WB

Команда i+1

IF

ID

EX

MEM

WB

Команда i+2

IF

ID

EX

MEM

WB

Команда i+3

IF

ID

EX

MEM

WB

Команда i+4

IF

ID

EX

MEM

WB

Рис. 3.6. Диаграмма работы простейшего конвейера

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

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

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

2.  Конфликты по данным, возникающие в случае, когда выполнение одной команды зависит от результата выполнения предыдущей команды.

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

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

Матричные вычислительные системы

Матричные системы являются наиболее распространенными представителями систем, класса: «один поток команд - множество - потоков данных», которые лучше всего приспособлены для решения задач, характеризующихся параллелизмом независимых объектов или данных.

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

Одним из первых матричных процессоров был SОLОМОN.

Рис.3.7. Структура матричной вычислительной системы "SOLOMON"

Система SОLOМОN содержит 1024 процессорных элемента, соединены в виде матрицы: 32х32. Каждый процессорный элемент матрицы включает в себя процессор, обеспечивающий выполнение последовательных поразрядных арифметических и логических операций, а также оперативное ЗУ, емкостью 16 Кбайт. Длина слова - переменная от 1 до 128 разрядов. Разрядность слов устанавливается программно. По каналам связи от устройства управления передаются команды и общие константы. В процессорном элементе используется, так называемая, много модальная логика, которая позволяет каждому процессорному элементу выполнять или не выполнять общую операцию в зависимости от значений обрабатываемых данных. В каждый момент все активные процессорные элементы выполняют одну и ту же операцию над данными, хранящимися в собственной памяти и имеющими один и тот же адрес.

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

Ассоциативные вычислительные системы

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

Рис.3.8. Структура ассоциативного запоминающего устройства

Ассоциативное ЗУ включает в себя: устройство управления (УУ), запоминающий массив, регистр ассоциативных признаков (РгАП), регистр маски (РгМ), регистр индикаторов адреса с схемами сравнения на входе. В АЗУ могут быть и другие элементы. Выборка информации из АЗУ происходит следующим образом: в РгАП передается код признака искомой информации. Код может иметь произвольное число разрядов, от 1 до m (m-максимальное число разрядов). Если код признака используется полностью, то он без изменения поступает на схему сравнения. Если же необходимо использовать только часть кода, то ненужные разряды маскируются с помощью РгМ. Перед началом поиска информации в АЗУ все разряды регистра индикаторов адреса устанавливаются в единичное состояние. После этого производится опрос первого разряда всех ячеек запоминающего массива, и содержимое сравнивается со значением 1-го разряда регистра ассоциативных признаков. Если содержимое разряда запоминающего массива не совпадает с содержимым разряда регистра ассоциативных признаков, то в соответствующую ячейку регистра индикатора адреса заносится “0”, в противном случае состояние не меняется (остается “1”). Затем эта операция повторяется с вторым, третьим разрядом и так до последнего. После поразрядного опроса и сравнения в единичном состоянии останутся те разряды регистра индикаторов адреса, которые соответствуют ячейкам, содержащим информацию, совпадающую с записанной в регистр ассоциативных признаков. Эта информация затем считывается в последовательности, определенной в УУ.

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

Принципы векторной обработки

Принцип векторной обработки основан на существовании значительного класса задач использующих операции над векторами. Алгоритмы этих задач в соответствии с терминологией Флинна относятся к классу «одиночный поток команд – множественный поток данных». Реализация операций обработки векторов на скалярных процессорах с помощью обычных циклов ограничивает скорость вычислений по следующими причинам.

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

-  Для каждой команды необходимо вычислять адреса элементов данных

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

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

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

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

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

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

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

Литература

1.  , , Новиков комплексы, системы и сети: Учебник для втузов. Л.: Энергоиздат. Ленингр. отд-ие, 19с.: ил.

2.  Аппаратные средства IBM PC. Энциклопедия. – СПб: Питер, 2001. – 816 с.

3.  Микропроцессоры. В 3-х кн. Кн. 1. Архитектура и проектирование микро-ЭВМ. Организация вычислительных процессов: Учеб. для втузов / Под. редакцией . М.: Высш. шк., 1986. – 495 с.: ил.

4.  IBM PC для пользователя. Изд. 5-е исправл. и доп. – М.: Финансы и статистика, НПО «Информатика и компьютеры», 1994. – 386 с.

5.  , Олифер операционные системы http://www. *****/operating_systems/sos/contents. shtml

6.  , Олифер сети. Принципы, технологии, протоколы. – СПб.: Санкт-Петербург, 20с.

7.  , Кузнецов -программные платформы корпоративных информационных систем http://citforum. /hardware/app_kis/contents. shtml

8.  Шнитман высокопроизводительные компьютеры http://www. *****/hardware/svk/contents. shtml

9.  и др. Вычислительные машины, системы и сети. М.: Финансы и статистика, 1991

10.  и др. Справочное пособие по микропроцессорам и микроЭВМ / Под. ред. – М: Высш. шк., 1988. – 272 с.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5