Исторически многомашинные вычислительные системы появились первыми. Уже при использовании ЭВМ первых поколений возникали задачи повышения производительности, надежности и достоверности вычислений.
Многомашинный комплекс состоит из нескольких ЭВМ, каждая из которых имеет свою внутреннюю память и работает под управлением своей операционной системы, и средства обмена информацией между машинами. В отличие от них мультипроцессорные ВС имеют общую память и общие периферийные устройства; они работают под управлением единой операционной системы.
Машины работают параллельно; каждая из них обрабатывают собственные потоки заданий, а в системах управления решает собственное подмножество функциональных задач. Несколько ЭВМ только тогда представляют собой вычислительную систему, когда они могут обмениваться информацией. Для этого требуется их совместимость.
Аппаратурная совместимость означает, что:
- подключаемые друг к другу элементы (узлы, блоки) должны иметь единые стандартные, унифицированные средства соединения: кабели, число проводов в них, единое назначение проводов, разъемы, заглушки, адаптеры, платы и т.д.;
- параметры электрических сигналов, которыми обмениваются элементы (узлы, устройства), тоже должны соответствовать друг другу: амплитуды импульсов, полярность, длительность и т.д.;
- должна быть решена проблема синхронизации вычислений;
- должна быть согласована форма представления чисел и их разрядность.
Программная совместимость предполагает, что:
- существует программа-диспетчер, которая оперативно распределяет ресурсы ВС между задачами, обеспечивает загрузку программ и управляет вводом-выводом;
- программы, которыми могут обмениваться ЭВМ, входящие в состав ВС, должны одинаково интерпретироваться ими (должна быть согласована адресация, разрядности кодов команд коды операций и др.). Эта проблема решается достаточно просто для однотипных ЭВМ.
Программная совместимость может обеспечиваться на уровнях:
1) внутреннего языка; 2) языка ассемблера; 3) языка высокого уровня.
На первом уровне наиболее распространены такие типы организации совместимости, как «общая наименьшая машина», иерархического типа, частичная и с эмуляцией недостающих команд.
Если на ЭВМ1 можно выполнять множество команд А, а на ЭВМ2 - множество команд В и пересечение этих множеств С не пусто, то оно соответствует возможностям «общей наименьшей машины».
Если одно множество полностью входит в другое, то имеет место иерархическая совместимость. Например, если взаимодействующие ЭВМ относятся к одному и тому же семейству, но стыкуются разные модели, то в таких моделях совместимость обеспечивается «снизу вверх», т.е. ранее созданные программы могут выполняться на более поздних моделях, но не наоборот.
Частичная совместимость возникает тогда, когда только часть программ, составленных для одной ЭВМ, может выполняться на другой. Эмуляция отсутствующих команд служит для увеличения степени частичной совместимости: если выполнение программы на малой ЭВМ прерывается из-за отсутствия в ней команд, существующих в большой ЭВМ, то эти команды могут эмулироваться программными средствами малой ЭВМ.
Совместимость на уровне машинных команд имеет следующие недостатки:
- разработка и отладка программ для обеспечения совместимости на этом уровне требует больших затрат времени и сил, особенно, для управляющих ЭВМ;
- эта совместимость приводит к неполному использованию специального оборудования и специальных команд, которые имеются не во всех ЭВМ;
- для надежного обмена программами требуется централизация их контроля и исправления ошибок.
Наиболее высокая степень программной совместимости - на третьем уровне - уровне алгоритмических языков, когда обмен программами, по существу, заменяется обменом алгоритмами. Совместимость на втором уровне имеет промежуточный характер.
Информационная совместимость предполагает, что передаваемые информационные массивы одинаково интерпретируются стыкуемыми модулями ВС. Должны быть стандартизированы алфавиты, разрядность, форматы, структура и разметка файлов, томов и т.д.
Эффективность ММС во многом зависит от организации обмена информацией и командами между ними. Характеристики обмена определяются параметрами технических средств, обеспечивающих взаимодействие устройств, и уровня управления процессами, на котором это взаимодействие осуществляется. В общем случае возможны следующие уровни комплексирования:
1) прямого управления (процессор - процессор);
2) общей оперативной памяти;
3) комплексируемых каналов ввода-вывода;
4) устройств управления внешними устройствами;
5) общих внешних устройств.
Чаще всего комплексирование ЭВМ в ММС осуществляется на первом, втором и третьем уровнях.
Уровень прямого управления служит для передачи коротких приказов-сообщений. Последовательность взаимодействия процессоров сводится к следующему. Процессор ЭВМ-инициатора обмена передает в блок прямого управления сообщение и подает команду «Прямая запись». У процессора другой ЭВМ эта команда вызывает прерывание, относящееся к классу внешних. В ответ он вырабатывает команду «Прямое чтение» и записывает передаваемый байт в свою память. Затем принятая информация расшифровывается и по ней принимается решение. После завершения передачи прерывания снимаются, и оба процессора продолжают вычисления по собственным программам. Очевидно, что уровень прямого управления не может использоваться для передачи больших массивов данных, однако оперативное взаимодействие отдельными сигналами широко используется в управлении вычислениями.
Уровень комплексируемых каналов ввода-вывода предназначается для передачи больших объемов информации между блоками оперативной памяти сопрягаемых ЭВМ. Обмен данными между ЭВМ осуществляется с помощью адаптера «канал-канал» и команд «Чтение» и «Запись». Адаптер - это устройство, согласующее скорости работы сопрягаемых каналов. Обычно сопрягаются селекторные каналы машин как наиболее быстродействующие, но можно сопрягать мультиплексные каналы, а также селекторный и мультиплексный. Скорость обмена данными определяется скоростью самого медленного канала. Скорость передачи данных по этому уровню составляет несколько Мбайт/с.
Уровень управления внешними устройствами предполагает использование встроенного в устройство управления ВУ (УВУ) двухканального коммутатора и команд «Зарезервировать» и «Освободить». Коммутатор позволяет подключать УВУ одной машины к селекторным каналам различных ЭВМ. По команде «Зарезервировать» канал-инициатор обмена получает доступ через УВУ к любым накопителям на дисках или на магнитных лентах. Обмен канала с накопителями продолжается до полного завершения работ и получения команды «Освободить». Лишь после этого УВУ может подключиться к конкурирующему каналу. Такая дисциплина обслуживания требований позволяет избежать конфликтных ситуаций.
Пять уровней комплексирования получили название логических, так как они объединяют на каждом уровне разнотипную аппаратуру, имеющую сходные методы управления. Каждое из устройств может иметь логическое имя, используемое в прикладных программах. Этим достигается независимость программ пользователей от конкретной физической конфигурации системы. Связь логической структуры программы и конкретной физической структуры ВС обеспечивается операционной системой по указаниям- директивам пользователя, при генерации ОС и по указаниям диспетчера-оператора вычислительного центра. Различные уровни комплексирования позволяют создавать самые различные структуры ВС.
Если в составе ВС имеется дорогое уникальное внешнее устройство, то возможно совместное его использование всеми машинами вычислительного комплекса - это еще один уровень комплексирования.
Многомашинные ВС применяются в системах управления сложными объектами. В таких системах с помощью ММС решают две задачи: обеспечение требуемой производительности и надежности. Применение ММС для обеспечения высоких требований по надежности функционирования и по достоверности информации обычно реализуется по следующей схеме.
Машины решают одну и ту же задачу, одновременно выполняя одинаковые операции над одними и теми же данными и периодически сверяя результаты. Если они совпадают, работа ММС продолжается. В случае несовпадения с помощью тестов или по результатам контроля определяется неисправная ЭВМ, ее выходы блокируются и работу системы обеспечивает исправная машина. После ремонта ММС вновь функционирует в нормальном режиме. Для этого в отремонтированную ЭВМ должна быть загружена обновленная информация и вновь обеспечен синхронный режим совместной работы.
Структурная организация ММС сильно зависит от конкретного применения, но можно указать основные концепции их построения:
- многоуровневая иерархическая организация структуры, соответствующая иерархическому характеру комплекса решаемых функциональных задач;
- динамическое перераспределение задач по ресурсам системы;
- модульность структуры и конструкции элементов ВС, обеспечиваемая унифицированной системой модулей и протоколов обмена;
- наличие развитых средств контроля и диагностики.
Кластеры
Кластером называют группу взаимосвязанных совместно работающих ЭВМ, представляющих для пользователя единый ресурс, единый центр по обработке информации. В качестве вычислительного узла обычно используются двух- или четырехпроцессорные ЭВМ, хотя могут устанавливаться и однопроцессорные ЭВМ, и локальные сети. Каждый узел работает под управлением своей операционной системы. Состав и мощность узлов могут меняться даже в рамках одного кластера, что дает возможность создавать неоднородные системы. Возможно включение в конфигурацию кластера специализированного компьютера, например, файл-сервера. Поскольку все ЭВМ кластера могут работать самостоятельно и в качестве узлов кластера могут выступать вычислительные системы, то кластер фактически представляет собой вычислительную систему более высокого уровня иерархии.
Концепция кластера появилась как следствие двух факторов:
1) стремления повысить производительность вычислительного ресурса, представляемого пользователю и 2) потребностью в высоконадежных средствах обработки информации.
Достоинства кластерных структур определяются следующим образом.
1. Можно создавать кластеры любых размеров, превышающие по суммарной производительности любые самые мощные ЭВМ. Кластер может состоять из десятков и сотен ЭВМ, каждая и которых может быть многопроцессорной вычислительной системой. Это свойство наращивать мощность (масштабируемость кластера) обеспечивается аппаратурной, программной и информационной совместимостью его элементов и автоматизацией процесса распределения нагрузки.
2. Пользователь может наращивать технические средства постепенно, и при этом вычислительная мощность кластера будет возрастать линейно, пропорционально приращению характеристик технических средств. Для других типов ВС подобная зависимость имеет нелинейный характер вследствие роста числа конфликтов и усложнения системы обмена.
Возможны два решения проблемы масштабируемости. Вертикальное масштабирование осуществляется добавлением ЭВМ, модулей памяти, процессоров и средств обмена в каждый узел кластера. Горизонтальное масштабирование состоит в увеличении числа узлов и в добавлении внешней памяти.
3. Кластер обладает повышенной надежностью и готовностью. Это свойство обеспечивается способностью каждого узла кластера работать автономно, но в любой момент переключаться на выполнение работ другого узла в случае его отказа.
4. Поскольку в качестве «строительных блоков» кластера используются широко распространенные ЭВМ, его стоимость, как правило, меньше стоимости одиночной уникальной ЭВМ с характеристиками, аналогичными обобщенным характеристикам кластера.
Простейший способ обеспечить свойства масштабируемости, надежности и готовности - построить кластер, состоящий из двух узлов, соединенных высокоскоростной линией связи. Эта связь может представлять собой локальную вычислительную сеть, которая используется либо совместно с другими ЭВМ, либо специально для нужд кластера. Дальнейшее развитие этой схемы заключается в дополнительной связи между ЭВМ через дисковую подсистему. Использование избыточной внешней памяти типа RAID (Redundant Array of Inexpensive Disk - избыточный массив недорогих дисков) типично для кластеров, оно обеспечивает их высокую надежность.
Для RAID-массивов было разработано шесть разных конфигураций, отвечающих различным задачам. Они названы уровнями RAID, хотя никакой иерархии не представляют.
RAID 0 - это базовая конфигурация дискового массива, предназначенная для повышения производительности системы. Один большой файл разбивается на несколько частей, которые записываются на разные диски. Это называется расслоением данных. При обращении к такому файлу для чтения диски могут передавать данные параллельно, так что общее время его пересылки сокращается по сравнению со временем пересылки при хранении на одном диске.
Архитектура RAID 1 позволяет повысить надежность хранения данных путем записи их идентичных копий на двух дисках. Такие диски называют зеркальными. Если один из них выходит из строя, операции чтения и записи продолжаются с зеркальным диском.
Уровни RAID 2, RAID 3 и RAID 4 предназначены для повышения надежности системы с помощью различных схем контроля четности, не требующих полного дублирования дисков. Вся информация, предназначенная для контроля четности, хранится на диске. В RAID 5 она распределяется между всеми дисками.
Архитектура кластеров используется при построении серверов для распределенных вычислительных систем.
В распределенных ВС появляются распределенные базы данных. Распределенная база данных (РБД) - это база, отдельные части которой размещены (возможно, с дублированием) на нескольких ЭВМ, объединенных сетью. Она должна удовлетворять следующим требованиям:
• быстрая обработка типовых и незапланированных запросов;
• обеспечение безопасности данных;
• обеспечение логической и физической независимости данных;
• обеспечение «прозрачности»:
- распределенной структуры данных (независимость конечных пользователей и программ от варианта размещения информации на ЭВМ сети);
- совместного доступа к данным (поддержка целостности РБД при одновременной модификации одних и тех же данных несколькими пользователями);
- распределенной обработки (независимость конечных пользователей и прикладных программ от типа сети и применяемой сетевой операционной системы).
Администрирование и доступ пользователей к РБД осуществляются с помощью системы управления РБД, которая, исходя из упомянутых требований, обеспечивает выполнение следующих функций:
• автоматическое определение ЭВМ, на которой хранятся требуемые в запросе данные;
• декомпозицию распределенных запросов на частные подзапросы к БД отдельных ЭВМ;
• планирование обработки запросов;
• передачу частных подзапросов и их исполнение на удаленных ЭВМ;
• прием результатов выполнения частных подзапросов, полученных в результате декомпозиции запросов на поиск и чтение данных из РБД, и композицию общего результата;
• поддержание в согласованном состоянии копий дублированных данных на различных ЭВМ сети;
• управление параллельным доступом к РБД многих пользователей;
• обеспечение целостности РБД.
• Реализация перечисленных выше функций в распределенной ВС поручается серверам. Вообще под термином «сервер» принято понимать объект, предоставляющий сервис другим объектам по их запросам; под сервисом понимается процесс обслуживания объектов, а наиболее распространенными видами сервиса являются такие как: хранение и поиск данных; передача сообщений и блоков данных; электронная почта; организация и управление диалогом пользователей; предоставление соединений; проведение сеансов взаимодействия прикладных процессов.
Существует множество типов серверов:
• сервер баз данных, выполняющий обработку запросов, направляемых базе данных;
• файловый сервер, обеспечивающий функционирование распределенных ресурсов, включая файлы и программное обеспечение;
• сервер доступа, обеспечивающий возможность клиенту одной локальной сети связываться с другой сетью;
• коммуникационный сервер, управляющий терминалами и осуществляющий маршрутизацию сообщений.
• Распределенные ВС можно строить по принципам, получившим названия «файл - сервер» и «клиент - сервер».
• В ВС, построенной по принципу «файл-сервер», файловый сервер не принимает участия в реализации прикладной программы пользователя. Он просто хранит файлы, хотя в ряде случаев служит концентратором для совместного использования периферийных устройств, организуя очереди к периферийным устройствам. Так как файловый сервер является независимым компьютером сети, то его обычно специализируют, устанавливая, например, большой объем дисковой памяти. Функционирующая на рабочей станции прикладная программа считывает и записывает файлы, обмениваясь ими с сетевым файловым сервером, но все операции выполняет самостоятельно.
Во многих случаях файлы передаются по сети между рабочей станцией и сервером целиком, хотя пользователю нужна только их часть. Это приводит к неэффективной загрузке сети. Другой недостаток систем типа «файл - сервер»: в них невозможен одновременный доступ к одному набору данных многими пользователями.
Присущие локальной сети проблемы породили идею кооперативных вычислений по принципу «клиент-сервер». Клиент в такой системе - это процесс, который с помощью определенных операций вызывает сервисную функцию. Им может быть программа или пользователь. Сервисная функция в архитектуре «клиент- сервер» описывается комплексом прикладных программ, в соответствии с которым выполняются прикладные процессы. Функции сервера реализуются в виде самостоятельного прикладного процесса либо части общего прикладного процесса. После выполнения каждого задания сервер посылает результаты клиенту, пославшему это задание.
Функции сети связи известны. В этой системе нагрузка на нее значительно ниже, чем в системе с файловым сервером, поскольку обмен идет не целыми массивами данных, а отдельными фрагментами, например, строками таблицы.
Достоинства системы организации вычислений типа «клиент- сервер» определяются, во-первых, тем, что клиентская и серверная часть могут работать на разных по стоимости и по производительности машинах, что приводит к снижению затрат на систему. Во- вторых, такие системы обладают хорошей адаптацией и гибкостью: замена сервера не приводит к нарушению клиентских приложений, а расширение числа пользователей (в определенных пределах) не влияет на работу сервера. В-третьих, каждый функциональный элемент, в том числе и клиентское приложение, легко может быть специализировано для выполнения тех или иных специфических функций.
По общему признанию, вычисления по схеме «клиент-сервер» более дешевые по сравнению с централизованными системами с большими ЭВМ.
В то же время нельзя забывать о том, что отказы сервера делают всю систему неработоспособной, а применение этой схемы для системы, обрабатывающей сотни и тысячи одинаковых приложений (типа заказов билетов), сводят на нет все ее достоинства.
Контрольные вопросы:
1 Чем в основном определяется эффективность использования вычислительных систем?
2 Отличительная особенность вычислительной системы по отношению к ЭВМ.
3 Какими средствами может обеспечиваться специализация ВС ?
4 Как подразделяются специализированные ВС по виду составляющих элементов ?
5 Как подразделяются специализированные ВС по типам ЭВМ и процессоров?
6 Как подразделяются специализированные ВС по характеру пространственного распределения вычислительных модулей ?
7 Как подразделяются специализированные ВС по методам управления элементами ?
8 Что означает аппаратурная совместимость многомашинной вычислительной системы?
9 Что предполагает программная совместимость многомашинной вычислительной системы?
10 Укажите основные концепции структурной организации ММС.
11 Концепция кластера и достоинства кластерных структур.
12 Каким требованиям должна удовлетворять распределенная база данных (РБД)?
13 Выполнение каких функций обеспечивает системы управления РБД?
14 Перечислите и охарактеризуйте типы серверов.
15 Чем определяются достоинства системы организации вычислений типа «клиент- сервер»?
Лекция 17 Многопроцессорные вычислительные системы . Основные характеристики средств переработки информации
Дата: 2019-04-23, просмотров: 240.