Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные системы 2 курс 1 семестр / Лекции / операционные системы для заочного отделения.doc
Скачиваний:
289
Добавлен:
20.05.2015
Размер:
1.14 Mб
Скачать

Тема 12. Управление процессорами и заданиями в мультипроцессорном вычислительном комплексе

Два вида мультипроцессорных авчислительных систем

Мультипроцессорные системы   с подчиненными процессорами

Мультипроцессорные системы с равноправными процессорами

Решение фирмы Сompaq

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

Целью построения мультипроцессорных вычислительных систем является:

  • повышение производительности вычислительных систем;

  • повышение надежности и коэффициента готовности вычислительной системы.

Существует два вида мультипроцессорных вычислительных систем:

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

  2. Мультипроцессорные системы с сильно связанными процессорами, называющиеся многопроцессорными вычислительными комплексами, которые имеют единую ОП, коллективно используемую несколькими ЦП.

Рисунок 9.1. Системы со слабо связанными процессорами.

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

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

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

  • организация взаимодействия центральных процессоров (синхронизация);

  • управление загрузкой процессоров (диспетчирование);

Существует несколько способов взаимодействия ЦП:

  1. Вычислительный комплекс и ОС с подчиненными процессорами- асимметричное мультипроцессирование (один главный процессор и несколько подчиненных).

  2. Вычислительный комплекс и ОС с равноправными процессорами.

  3. Вычислительный комплекс и ОС с симметричной организацией - симметричное мультипроцессирование.

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

Рисунок.9.2 Мультипроцессорная система

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

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

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

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

Разные процессоры могут в какой-то момент времени выполнять как разные, так и одинаковые модули общей ОС. Для этого программные модули ОС должны обладать свойством повторной входимости – реентерабельности. ОС полностью децентрализована. Освободившийся процессор сам запускает планировщик задач, который выбирает из общей системной очереди задачу для выполнения. Все ресурсы выделяются для задачи по мере потребности и не закрепляются за процессором. При таком подходе все процессоры работают с одной и той же динамически выравниваемой загрузкой. В решении одной задачи могут участвовать сразу несколько процессоров, если она допускает распараллеливание, например, путем представления нескольких нитей (потоков для WINDOWS NT фирмы Microsoft),UNUX - SOLARISкомпанииSun, базирующийся наUNIIX System V Release.

Рисунок.9.3 Архитектура однопроцессорной системы

Достоинства этой организации:

  • высокая надежность (отказ одного из ЦП исключает его из очереди готовых процессоров);

  • сбалансированная загрузка ЦП;

  • лучшее использование ресурсов.

Недостатки - возрастает число конфликтов по системному обслуживанию, так как ОС имеется только в одном экземпляре.

Фирма COMPAQ, сотрудничая сNOVELL, выпустилаOS-NETWARE fromCOMPAQ.

SCO UNIXоптимизирована под серверыCOMPAQи поддерживает многопроцессорность с помощью утилитыSCO MPX, которая эффективно использует симметричную многопроцессорную архитектуру.

Рассмотрим архитектуру двухпроцессорной вычислительной системы фирмы COMPAQ.В основу решения положено два принципа:

  • пропускная способность шины должна превышать сумму пропускных способностей всех подключенных к ней компонент;

  • как следствие, компонента, готовая передать данные не должна ждать.

Первое - за счет наращивания разрядности шин. Второе - за счет кэширования. Первоначально IBM PC/XT/AT имели один 8/16 разрядный канал передачи данных, к которому посредством шины подключались все основные компоненты системы: процессор, память, устройство ввода/вывода (рисунок 9.3)

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