ПРОИЗВОДИТЕЛЬНОСТЬ МУЛЬТИПРОЦЕССОРНЫХ СИСТЕМ С ОБЩЕЙ И ИНДИВИДУАЛЬНОЙ ПАМЯТЬЮ
Для увеличения производительности в состав вычислительной системы может вводиться несколько процессоров, способных функционировать параллельно во времени и независимо друг от друга и вместе с тем взаимодействовать между собой и с другим оборудованием системы.
Вышислительныге системы, содержащие несколько процессоров, связанных между собой и с общим для них комплектом внешних устройств, называются мультипроцессорными системами (МПС). Производительность МПС увеличивается по сравнению с однопроцессорной системой за счет того, что мультипроцессорная организация создает возможность для одновременной обработки нескольких задач или параллельной обработки различных частей одной задачи.
В ряде случаев требуется обеспечить непрерывность функционирования системы во времени. Это означает, что отказ в любом устройстве ВС, в том числе и в процессоре, не должен приводить к катастрофическим последствиям, т.е. система должна сохранять работоспособность и после отказа. В таком случае все устройства ВС должны быть по крайней мере задублированы и система должна содержать не менее двух процессоров, т.е. строиться как МПС.
Наиболее существен в структурной организации МПС способ связи между процессорами и памятью системы. В этом аспекте МПС разделяются на МПС с памятью общей (полнодоступной) и индивидуальной (раздельной).
В МПС с общей памятью каждый из процессоров имеет доступ к любому модулю памяти, которые могут функционировать независимо друг от друга и в каждый момент времени обеспечивать одновременные обращения в целях записи или чтения слов информации, число которых определяется числом модулей. Конфликтные ситуации (обращение к одному и тому же модулю памяти) разрешаются коммутатором, начинающим обслуживать первым устройство с наибольшим приоритетом, например процессор с наименьшим номером. Каждый из процессоров может инициировать работу любого канала ввода-вывода.
Структура МПС с общей памятью наиболее универсальна: любая информация, хранимая в памяти системы, в равной степени доступна любому процессору и каналу ввода-вывода. Отрицательное свойство МПС с общей памятью — большие затраты оборудования в коммутаторах (эти затраты пропорциональны произведению числа устройств, подключенных к памяти, и числа модулей памяти).
В МПС с индивидуальной памятью каждый из процессоров обращается в основном к своему модулю памяти. Для обмена данными между подсистемами "процессор — модуль памяти" в процессорах предусмотрены блоки обмена, обеспечивающие передачу сегментов информации между общей памятью и модулем памяти. При этом блок обмена может работать как селекторный канал: операция обмена инициируется процессором, и передача данных выполняется с параллельной работой последнего. Принцип индивидуальной памяти позволяет исключить коммутаторы в интенсивно используемом канале "процессор — модуль памяти", вследствие чего увеличивается номинальное быстродействие процессоров и уменьшаются затраты оборудования по сравнению с системами с общей памятью. Отрицательным последствием разделения памяти между процессорами является потеря ресурсов быстродействия в процессе обмена информацией между модулями памяти и общей памятью системы. Потери возникают, во-первых, из-за возможных приостановок работы процессоров для ожидания моментов окончания обмена данными с общей памятью и, во-вторых, из-за дополнительной загрузки модулей памяти операциями обмена.
Если класс задач, решение которых возлагается на МПС, таков, что работа каждого процессора связана с использованием в основном ограниченного подмножества данных и обращение к остальным данным происходит сравнительно редко, то индивидуализация памяти приводит к экономии оборудования и обеспечивает высокое номинальное быстродействие процессоров в системе. В противном случае, когда каждый из процессоров почти равновероятно обращается к любому сегменту данных, МПС должна строиться по схеме с общей памятью, исключающей необходимость в обмене информацией между модулями памяти.
МПС С ОБЩЕЙ ПАМЯТЬЮ
Рассмотрим мультипроцессорную систему с общей памятью, в которой размешаются все программы и данные, используемые в процессе функционирования системы. Такая организация типична для управляющих систем, жесткие ограничения на время реакции которых исключают возможность размещения информации во внешней памяти. Будем считать, что в МПС используются одинаковые процессоры, т.е. МПС - однородная система. Наличие общей оперативной памяти, в которой размещается вся необходимая информация, и однородность системы позволяют выполнять любую программу на любом процессоре, т.е. любой процессор может принять на обслуживание любую заявку. Режим работы МПС, при котором каждый из процессоров может обслуживать любую заявку, называется режимом разделения нагрузки. При этом режиме каждый из N процессоров принимает на обслуживание N-ю часть заявок, т.е. N-ю часть общей нагрузки.
В модели МПС с обшей памятью процесс обслуживания заявок в режиме разделения нагрузки можно рассматривать как процесс функционирования одной многоканальной системы массового обслуживания (рис. 4.22) с интенсивностью входящего потока заданий X, общей очередью О, заявки из которой выбираются в порядке поступления их в систему, и средней длительностью обслуживания заявки каждым из процессоров Пр],..., Пру. равной 6. Заявка, поступающая в систему, содержащую N процессоров, при наличии хотя бы одного свободного процессора немедленно принимается последним на обслуживание. Если все процессоры заняты обслуживанием ранее поступивших заявок, поступающая заявка размещается в очереди.
Определим характеристики МПС на основе модели, показанной на рис. 4.22.
Пусть в МПС поступает М потоков с интенсивностями Х\,...,Хм- Обслуживание заявок сводится к выполнению соответствующих программ, средние трудоемкости которых равны 0|,...,0ц операций в расчете на один прогон программы. Примем, что обслуживание заявок выполняется на основе дисциплины FIFO. В таком случае можно считать, что система обслуживает однородный поток заявок, поступающих с интенсивностью
м
Поток заданий А,
I • I
![]()
Очередь задании
![Рис.<div class=]()
4.22. Модель МГТС с общей памятью" /> Рис. 4.22. Модель МГТС с общей памятью
Для обслуживания любой заявки из суммарного потока требуется в среднем
процессорных операции.
Примем, что заявка, поступившая на обслуживание, захватывает процессор до полного завершения обслуживания. В таком случае средняя длительность обслуживания заявки процессором с быстродействием В равна 9 = 0 IB, а интенсивность обслуживания заявок одним процессором р, =1/9.
Параметры системы Л, N и 9 = 0 IB должны отвечать условию существования стационарного режима, при котором в очереди пребывает конечное число заявок и, следовательно, конечны времена ожидания и пребывания заявок. На каждый из процессоров поступает N-я доля заявок, и поэтому отдельный процессор обслуживает поток с интенсивностью AJN . Загрузка процессора
где |Т? = Лф — суммарная интенсивность обслуживания заявок TV-процессорной системой.
Стационарный режим существует, если р lt;1. Следовательно, параметры МПС должны отвечать соотношению Х01 (NВ) lt; 1.
Характеристики системы можно получить в явной аналитической форме, если принять предположение о том, что входящий поток заявок — пуассоновский и длительность обслуживания распределена по экспоненциальному закону со средним 9.
В теории массового обслуживания доказывается, что при указанных предположениях вероятность пребывания в системе N — 0,1,2,... заявок, обслуживаемых процессорами и стоящих в очереди
![]()
(4.1)
(4.2)
(4.3)
есть вероятность того, что в системе нет ни одной заявки, т.е. все N процессоров простаивают; R — суммарная загрузка TV-канальной системы:
R = Af/i = NA/Nfl = Np.
![]()
Суммарная загрузка R в отношении TV-канальной системы массового обслуживания определяет среднее число каналов, которые заняты обслуживанием заявок.
Для стационарного режима Rlt;N. С учетом формулы (4.3) выражения (4.1) и (4.2) можно представить в виде (4.4)
(4.5)
![]()
где p = A/(N)\i — загрузка процессора A-процессорной системы.
Характер изменения вероятностей Рп при изменении суммарной загрузки четырехпроцессорной системы представлен на рис. 4.23.
![Рис. 4.23. Кривые вероятностей пребывания п заявок в четырехпроцессорной системе с различной суммарной загрузкой R]()
Рис. 4.23. Кривые вероятностей пребывания п заявок в четырехпроцессорной системе с различной суммарной загрузкой R
![]()
Распределение числа заявок в системе носит унимодальный характер, причем с увеличением загрузки максимальное значение Рп сдвигается в сторону больших N. Распределение (4.4) содержит всю информацию, необходимую для определения характеристик МПС. Средняя длина очереди заявок, ожидающих обслуживания в А-процессорной системе, находится исходя из формулы (4.4) как математическое ожидание случайной величины i = n-N gt; 0, равной числу заявок в очереди:
(4.6)
где Ро определяется из формулы (4.5).
Среднее число заявок, пребывающих в системе:
(4.7)
т = / + R,
где / — среднее число заявок, находящихся в очереди, определяемое выражением (4.6);
R — суммарная загрузка МПС, определяемая выражением (4.3).
или с использованием формулы (4.3)
![]()
Для систем без потерь заявок среднее время ожидания W и среднее время пребывания и заявок в системе равны соответственно W - 1 /Л и и - ml К.
Подставляя в эти соотношения выражения - и (4.7), получим:
![]()
Одна из важных характеристик системы — вероятность ненулевого ожидания заявок Pr (W gt; 0), т.е. вероятность того, что в момент поступления очередной заявки все N процессоров заняты обслуживанием. Эта вероятность равна:
![]()
Из сравнения формул (4.8) и (4.9) вытекает следующее выражение для среднего времени ожидания заявок:
В свою очередь, вероятность нулевого ожидания заявок, т.е. вероятность того, что в момент поступления заявки хотя бы один процессор свободен, равна: /V( W - 0) ч 1 - Pr(Wgt; 0).
134
МПС С ИНДИВИДУАЛЬНОЙ ПАМЯТЬЮ
В МПС с индивидуальной памятью множество программ обслуживания и связанных с ними данных Р = {Р\,...,Рм} разделяется на подмножества QN, Q, = Pw} ? P{i Щ,
размещаемые в памяти соответствующих процессоров Прі,...,Прдг. В результате этого каждый из процессоров ориентируется на обслуживание заявок определенных типов, а именно тех, программы обслуживания которых размещены в памяти процессора. Режим работы МПС, при котором каждый из процессоров обслуживает заявки определенных типов и не может обслуживать заявки других типов, называется режимом разделения функций.
Поток заданий ^ 1 -
Поток заданий ^2- =МШШ
Очередь Оі
Поток задании ^
![Рис. 4.24. Модель МПС с индивидуальной памятью]()
Рис. 4.24. Модель МПС с индивидуальной памятью
Рассмотрим модель МПС с индивидуальной памятью. В наиболее простом случае процессоры обмениваются информацией с общей памятью. Количество информации, передаваемой при обменах, может быть столь незначительно, что допустимо пренебречь влиянием процессов обмена на процесс обслуживания заявок. В таком случае можно считать, что процессоры функционируют независимо и работу jV-процессорной системы в режиме разделения функций можно рассматривать как процесс функционирования N одноканальных систем массового обслуживания (рис. 4.24). Каждая из систем массового обслуживания состоит из потока заявок, поступающих с интенсивностью Я/, очереди О/ и процессора Пр,.
Для этой модели характеристики обслуживания заявок каждого типа могут быть вычислены в предположении, что входящие потоки — пуассоновские при произвольном распределении длительностей обслуживания и различных дисциплинах обслуживания заявок. В частности, при экспоненциальном распределении длительности обслуживания и дисциплине FIFO среднее время ожидания заявок в системе с номером і = 1,...,jVh загрузкой Рі =Xj /|Xj lt; 1 равно:
среднее время пребывания заявок
«і =Wi+di =[Щ-рі)]8і, (4.11)
среднее число заявок в очереди = Wj Я,- =pf /(1 - Pi) и среднее число заявок в системе т,- = ірХ,- = р/ / (1 -pi).
МПС как единый объект обслуживает суммарный поток заявок, поступающий на вход системы с интенсивностью
Заявка из суммарного потока с вероятностью X, / Л будет ожидать обслуживания в среднем W,- единиц времени. С учетом этого среднее время ожидания заявки из суммарного потока определяется выражением:
N
W^iXtlAWi. (4.12)
г-1
Аналогично определяется среднее время пребывания заявки в системе:
В случае, когда каждый из процессоров обслуживает точно N-ю часть суммарного потока заявок и средняя длительность обслуживания одинакова для всех процессоров и равна 9. В таком случае Х\ = ...— Xn = Л / п и pi = ...= рдт = р. При равномерном распределении нагрузки из выражений (4.12) и (4.10), а также (4.13) и (4.11) следует, что средние времена ожидания и пребывания заявок равны соответственно: