Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТМПСК лекции.doc
Скачиваний:
13
Добавлен:
31.08.2019
Размер:
632.32 Кб
Скачать

2.5 Мультипрограммные, мультипроцессорные и кластерные системы

ЦЕЛЬ – дать базовые принципы компьютерных систем, работающих с несколькими независимыми программами, которые реализуются на одном или нескольких процессорах.

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

Итак, исходными понятиями являются:

независимые программы, каждая из которых реализует какой – то процесс,

процессоры (один или несколько), на которых реализуются эти программы.

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

В качестве аналога, поясняющего принцип работы нескольких независимых программ (процессов) на одном Пр, рассмотрим работу с очередью к одному кассиру в универсаме. В этой аналогии кассир интерпретируется как один Пр, а покупатели в очереди – как независимые программы (процессы). Если считать, например, что за 5 мин. кассир обслуживает 3 человека, то можно сказать, что на уровне кванта времени 5 мин., он обслуживает их одновременно (т.е. каждые 5 мин. – 3 чел.). В определении этот факт обозначается как «задействованы несколько», однако в каждый момент внутри этих 5-ти мин. (например, через 1 сек), он обслуживает только одного покупателя из этих 3-х.. Аналогично работает и один Пр с несколькими независимыми программами. Если рассматривать работу такого Пр на уровне кванта времени, бо’льшего чем время выполнения одной команды, то за счет своей большой скорости он успевает обслужить все процессы одновременно. Однако, на уровне выполнения любой команды в Пр, он работает только с одной программой (процессом).

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

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

СИСТЕМА

Мультипрограммная Мультипроцессорная

реализация реализация

на одном или нескольких всегда на нескольких Пр

Пр

всегда мультипрограммна

Рис. 2.5.1 Взаимосвязь между количеством Пр и типом системы

Управление в таких системах может быть:

♦ общим;

♦ распределенным.

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

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

мультипроцессорные;

кластерные.

Мультипроцессорные. В них для всех процессоров общими являются:

● операционная система, которая кроме типовых функций управления (распределения времени и памяти) занимается управлением вычислительной нагрузки между процессорами;

● память, включая оперативную (ОЗУ) и дисковую (диски);

● периферийные устройства.

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

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

Преимущества таких систем:

Высокая производительность. Она достигается за счёт параллельной работы всех компьютеров в системе.

Отказоустойчивость. Система способна продолжать работу при отказах отдельных элементов (например, процессоров, блоков памяти), хотя при этом её производительность и снижается, но не до нуля.

Кластерные (многомашинные) (анг. cluster – блок, группа)) - система, состоящая:

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

● и имеющая программно – аппаратные средства связи компьютеров в систему.

Избыточность в них организована на уровне компьютеров.

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

/В чём отличие мультипроцессорных и кластерных систем?/

Исторически многомашинные (кластерные) системы появились после создания сравнительно дешевых компьютеров на базе микропроцессоров. На определённом этапе развития появилась потребность в объединении нескольких компьютеров в единую систему (сети передачи данных).