Классификация вычислительных систем
Существует большое количество признаков, по которым классифицируют вычислительные системы.
По назначению вычислительные системы делят на:
· универсальные
· специализированные.
Специализированные системы ориентированы на решение узкого класса задач, в отличие от универсальных, предназначенных для широкого спектра задач.
По типу построения вычислительные системы разделяются на:
· многомашинные
· многопроцессорные
Это значит, что вычислительные системы могут строиться на базе нескольких компьютеров или на базе нескольких процессоров. В первом случая ВС будет многомашинной, во втором — многопроцессорной.
Многомашинные вычислительные системы(ММС) появились раньше, чем многопроцессорные. Основные отличия ММС заключаются в организации связей и обмена информацией между ЭВМ комплекса. Многомашинная ВСсодержит некоторое число компьютеров, информационно взаимодействующих между собой. Машины могут находиться рядом друг с другом, а могут быть удалены друг от друга на некоторое, иногда значительное расстояние (вычислительные сети). В многомашинных ВС каждый компьютер работает под управлением своей операционной системы (ОС). А поскольку обмен информацией между машинами выполняется под управлением ОС, взаимодействующих друг с другом, динамические характеристики процедур обмена несколько ухудшаются (требуется время на согласование работы самих ОС). Информационное взаимодействие компьютеров в многомашинной ВС может быть организовано на уровне:
o процессоров;
o оперативной памяти;
o каналов связи.
При непосредственном взаимодействии процессоров друг с другом информационная связь реализуется через регистры процессорной памяти и требует наличия в ОС весьма сложных специальных программ.
Взаимодействие на уровне оперативной памяти (ОП) сводится к программной реализации общего поля оперативной памяти, что несколько проще, но также требует существенной модификации ОС. Под общим полем имеется в виду равнодоступность модулей памяти: все модули памяти доступны всем процессорам и каналам связи.
На уровне каналов связи взаимодействие организуется наиболее просто и может быть достигнуто внешними по отношению к ОС программами-драйверами, обеспечивающими доступ от каналов связи одной машины к внешним устройствам других (формируется общее поле внешней памяти и общий доступ к устройствам ввода-вывода).
Все вышесказанное иллюстрируется схемой взаимодействия компьютеров в двухмашинной ВС, представленной на рис. 1.
Рис. 1. Схема взаимодействия компьютеров в двухмашинной ВС
Ввиду сложности организации информационного взаимодействия на 1-м и 2-м уровнях в большинстве многомашинных ВС используется 3-й уровень, хотя и динамические характеристики (в первую очередь быстродействие), и показатели надежности таких систем существенно ниже.
Многопроцессорные системы(МПС) содержат несколько процессоров, информационно взаимодействующих между собой либо на уровне регистров процессорной памяти, либо на уровне ОП. Этот тип взаимодействия используется в большинстве случаев, ибо организуется значительно проще и сводится к созданию общего поля оперативной памяти для всех процессоров. Общий доступ к внешней памяти и устройствам ввода-вывода обеспечивается обычно через каналы ОП. Важным является и то, что многопроцессорная вычислительная система работает под управлением единой ОС, общей для всех процессоров. Это существенно улучшает динамические характеристики ВС, но требует наличия специальной, весьма сложной ОС.
Однако МПС имеют и существенные недостатки. Они, в первую очередь, связаны с использованием ресурсов общей оперативной памяти. При большом количестве объединяемых процессоров возможно возникновение конфликтных ситуаций, в которых несколько процессоров обращаются с операциями типа ”чтение” и ”запись” к одним и тем же ячейкам памяти. Помимо процессоров к ОП подключаются все процессоры ввода-вывода, средства измерения времени и т.д. Поэтому вторым серьезным недостатком МПС является проблема коммутации и доступа абонентов к ОП. Процедуры взаимодействия очень сильно усложняют структуру ОС МПС. Опыт построения подобных систем показал, что они эффективны при небольшом числе объединяемых процессоров (от 2 до 10). Схема взаимодействия процессоров в ВС показана на схеме рис. 2. Типичным примером массовых многомашинных ВС могут служить компьютерные сети, примером многопроцессорных ВС — суперкомпьютеры.
Рис. 2. Схема взаимодействия процессоров в ВС
По типу ЭВМ или процессоров, используемых для построения ВС, различают:
· однородные системы
· неоднородные системы.
Однородная ВС строится на базе однотипных компьютеров или процессоров. Однородные системы позволяют использовать стандартные наборы технических, программных средств, стандартные протоколы (процедуры) сопряжения устройств. Поэтому их организация значительно проще, облегчается обслуживание систем и их модернизация.
Неоднородная ВС включает в свой состав различные типы компьютеров или процессоров. При построении системы приходится учитывать их различные технические и функциональные характеристики, что существенно усложняет создание и обслуживание неоднородных систем.
По методам управления элементами ВС различают:
· централизованные
· децентрализованные
· со смешанным управлением.
В централизованных ВС за управление отвечает главная или диспетчерская ЭВМ (процессор). Ее задачей является распределение нагрузки между элементами, выделение ресурсов, контроль состояния ресурсов, координация взаимодействия. Централизованный орган управления в системе может быть жестко фиксирован или эти функции могут передаваться другой ЭВМ (процессору), что способствует повышению надежности системы. Централизованные системы имеют более простые ОС.
В децентрализованных системах функции управления распределены между ее элементами. Каждая ЭВМ (процессор) системы сохраняет известную автономию, а необходимое взаимодействие между элементами устанавливается по специальным наборам сигналов. С развитием ВС и, в частности, сетей ЭВМ, интерес к децентрализованным системам постоянно растет.
В системах со смешанным управлением совмещаются процедуры централизованного и децентрализованного управления. Перераспределение функций осуществляется в ходе вычислительного процесса, исходя из сложившейся ситуации.
По принципу закрепления вычислительных функций за отдельными ЭВМ (процессорами) различают системы с жесткими плавающим закреплением функций. В зависимости от типа ВС следует решать задачи статического или динамического размещения программных модулей и массивов данных, обеспечивая необходимую гибкость системы и надежность ее функционирования.
По степени территориальной разобщенности вычислительных модулей ВС делятся на системы:
· территориально-сосредоточенные – это когда все компоненты располагаются в непосредственной близости друг от друга;
· распределенные – это когда компоненты могут располагаться на значительном расстоянии, например, вычислительные сети;
· структурно-одноуровневые – это когда имеется лишь один общий уровень обработки данных;
· многоуровневые (иерархические) структуры – это когда в иерархических ВС машины или процессоры распределены по разным уровням обработки информации, некоторые машины (процессоры) могут специализироваться на выполнении определенных функций.
По режиму работы ВС различают системы, работающие в оперативноминеоперативном временных режимах. Первые, как правило, используют режим реального масштаба времени. Этот режим характеризуется жесткими ограничениями на время решения задач в системе и предполагает высокую степень автоматизации процедур ввода-вывода и обработки данных.
На рис. 3 представлена принципиальная схема классификации вычислительных систем.
Рис. 3. Принципиальная схема классификации вычислительных систем.
Основным отличием ВС от компьютеров является наличие в их структурах нескольких вычислителей (компьютеров или процессоров). Поэтому они способны выполнять параллельные вычисления. Поскольку ВС появились как параллельные системы, то рассмотрим классификацию архитектур c этой точки зрения. Такая классификация архитектур была предложена М. Флинном в начале 60-х годов. В ее основу заложено два возможных вида параллелизма: независимость потоков заданий (команд), существующих в системе, и независимость (несвязанность) данных, обрабатываемых в каждом потоке. Согласно данной классификации существует четыре основных архитектуры ВС:
- одиночный поток команд – одиночный поток данных (ОКОД), в английской аббревиатуре Single Instruction Single Data, SISD - одиночный поток инструкций - одиночный поток данных;
- одиночный поток команд – множественный поток данных (ОКМД), или Single Instruction Multiple Data, SIMD - одиночный поток инструкций - одиночный поток данных;
- множественный поток команд – одиночный поток данных (МКОД), или Multiple Instruction Single Data, MISD - множественный поток инструкций - множественный поток данных;
. множественный поток команд – множественный поток данных (МКМД), или Multiple Instruction Multiple Data, MIMD -множественный поток инструкций - множественный поток данных.
Архитектура ОКОД охватывает все однопроцессорные и одномашинные варианты систем, то есть системы с одним вычислителем. Все ЭВМ классической структуры попадают в этот класс. Здесь параллелизм вычислений обеспечивается путем совмещения выполнения операций отдельными блоками АЛУ, а также параллельной работой устройств ввода-вывода информации и процессора. Закономерности организации вычислительного процесса в этих структурах достаточно хорошо изучены.
Архитектура ОКМД предполагает создание структур векторной или матричной обработки. Системы этого типа обычно строятся как однородные: процессорные элементы, входящие в систему, идентичны, и все они управляются одной и той же последовательностью команд. Однако каждый процессор обрабатывает свой поток данных. Под эту схему хорошо подходят задачи обработки матриц или векторов (массивов), задачи решения систем линейных и нелинейных, алгебраических и дифференциальных уравнений, задачи теории поля и др. В структурах данной архитектуры желательно обеспечивать соединения между процессорами, соответствующие реализуемым математическим зависимостям. Как правило, эти связи напоминают матрицу, в которой каждый процессорный элемент связан с соседними. Векторный или матричный тип вычислений является необходимым атрибутом любой супер ЭВМ.