УДК 519.872
ИССЛЕДОВАНИЕ СТРУКТУРНОЙ ОРГАНИЗАЦИИ И ОЦЕНКА
ПРОИЗВОДИТЕЛЬНОСТИ МНОГОПРОЦЕССОРНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ С ОБЩЕЙ ШИНОЙ
Б.В. Костров, А.И. Мартышкин
В статье показаны аналитические модели, основанные на разомкнутых сетях массового обслуживания, приведены выражения для оценки производительности многопроцессорных вычислительных систем с общей шиной. Подробно рассмотрены выражения для расчета моделей систем, в которых для межпроцессорного обмена используется принцип связи без буферизации сообщений. В заключении сделаны соответствующие выводы по работе. Рассмотренные в статье модели позволяют оценивать основные вероятностно-временные характеристики многопроцессорных систем без построения реальных дорогостоящих макетов.
Ключевые слова: многопроцессорная система, распределенная память, процессор, производительность, организация, вычислительный модуль, конфликт, межпроцессорный обмен, аналитическое моделирование, система массового обслуживания.
Современная технология оказала значительное влияние на структурную организацию многопроцессорных (реконфигурируемых и распределенных) систем (МПС). Переход от классической организации МПС с общей (разделяемой) памятью (ОП) к структурам с локальной памятью резко уменьшает интенсивность потока запросов к ОП и позволяет понизить требования к пропускной способности и сложности межузловой сети связи. В частности, такой подход оказался плодотворным для МПС с общей шиной (ОШ), в которых способность к простому наращиванию ограничивается низкой скоростью межпроцессорного обмена.
Рассмотрим основные варианты построения МПС с ОШ и локальной памятью. По способу организации памяти их можно разделить на структуры с объединенной общей и локальной памятью и структуры с физической раздельной общей и локальной памятью.
Структура МПС с объединенной общей и локальной памятью показана на рис. 1. Она содержит п вычислительных модулей (ВМ), каждый из которых содержит процессор (ЦП) локальную память (ЛП), часть которой выделена под ОП, и коммутатор (К), предназначенный для организации связи между ВМ. Управление ОШ может осуществляться шинным арбитром (на рис. 1 не отображен).
Возможны два способа организации структур с физически раздельной общей и локальной памятью. Первый способ - когда ОП размещена на внутренних шинах ВМ (рис. 2), второй - когда ОП размещена на ОШ (рис. 3).
Рис. 1. Структура МПС с объединенной общей и локальной памятью
Рис. 2. Общая память размещена на внутренних шинах вычислительного модуля
Рис. 3. Общая память размещена на общей шине
153
Приведенные способы организации МПС с ОШ различаются быстродействием и затратами оборудования. Структура, изображенная на рис. 2, наиболее быстродействующая, т.к. в ней минимизированы конфликты, возникающие как в ОШ, так и в ОП. Однако затраты коммутационного оборудования и памяти в такой структуре наибольшие.
Структура, изображенная на рис. 3, имеет низкое быстродействие из-за большого числа конфликтных ситуаций, возникающих в ОП. Аппаратурные затраты здесь наименьшие. Структура с объединенной памятью (рис. 1) занимает промежуточное положение [1, 2].
Связь между ЦП через ОШ может осуществляться двумя способами, отличающимися пропускной способностью и сложностью реализации: без буферизации и с буферизацией сообщений [3, 4]. В первом случае ОШ предоставляется г -му ЦП на все время выполнения команды обращения к ОП у-го ВМ. Во втором случае ОШ предоставляется на значительно меньший промежуток времени, достаточный для обмена данными между буферными регистрами, входящими в состав коммутаторов. Второй способ более быстродействующий, но требует больших затрат оборудования.
Разнообразие способов построения МПС с ОШ, значительно различающихся по аппаратурным затратам и быстродействию, вызывает необходимость поиска оптимальной структуры для решения конкретной задачи. При выборе структуры для специализированных применений часто используется критерий получения заданной производительности при минимальных затратах оборудования. Производительность МПС с ОШ зависит от многочисленных факторов и в том числе от конфликтов, возникающих в общих ресурсах (ОР). Одним из способов определения потерь производительности из-за конфликтов является аналитическое моделирование, которое при условии получения приемлемой по сложности и точности модели гложет стать хорошим инструментом на системном этапе проектирования.
Аналитическому моделированию МПС уделяется достаточно большое внимание, но разработанные модели в основном предназначены для структур с ОП. При этом конфликты часто рассматриваются либо только в ОП, либо в ОШ [5, 6]. Имеются отдельные работы, в которых конфликты рассматриваются совместно [7-10]. Моделирование же структур с локальной памятью производится обычно без учета межпроцессорного взаимодействия. Для этого модель системы расчленяется на п систем массового обслуживания (СМО) (по числу ЦП в системе) [11]. Такое допущение хотя и значительно упрощает процесс моделирования, но приводит к большим погрешностям. Особенно это отражается на структурах с ОШ, в которых характеристики МПС сильно зависят от межпроцессорного обмена.
Рассмотрим подход к моделированию структур с локальной памятью, основанный на открытых (разомкнутых) сетевых моделях, который позволяет учесть конфликты, возникающие как в памяти, так и в ОШ [5, 12].
154
Модель структуры с объединенной общей и локальной памятью
МПС состоит из п ЦП, каждый из которых имеет локальную память, часть которой, доступная всем ЦП системы, определена как ОП. При межпроцессорном обмене ЦП запрашивает ОШ, доступ к которой производится с помощью интерфейсных схем. Получив доступ к шине, ЦП-источник выставляет адреса, управляющие сигналы и данные для их записи в область (считывания из области) ОП ЦП-приемника. Обращение к памяти производится прямым доступом. В течение времени обращения ЦП-приемник находится в режиме блокировки. При связи без буферизации сообщений как на запись, так и на чтение из ОП требуется один цикл ОШ, длительность которого не ограничивается. Завершение цикла производится с получением сигнала об окончании обслуживания. При связи с буферизацией сообщений на запись требуется один цикл, а на чтение - два цикла. ЦП одновременно, в течение цикла шины, потребовавшие доступ к занятой ОШ, переходят в режим ожидания. Все остальные работают автономно.
Для обращения в локальную память используются местные шины ВМ. Если ЦП, обращаясь к локальной памяти, обнаружит ее занятой со стороны ОШ, то он переходит в режим ожидания до освобождения памяти.
Рассмотрим математическую модель МПС, где для межпроцессорного обмена используется принцип связи без буферизации сообщений.
Модель (рис. 4) на первой фазе обслуживания содержит ОШ (узел Б0), на второй - блоки памяти (узлы - Бп) [5, 13]. Все узлы сети однока-нальные.
Рис. 4. Модель МПС, в которой для межпроцессорного обмена используется принцип связи без буферизации сообщений
ЦП выдают заявки на обслуживание узлом S0 с интенсивностью 1 = Ы°Пг/Т , где ЫОШ - число одноадресных команд обращения i-го ЦП в
область ОП внешних по отношению к нему ВМ; Т - время решения задачи.
155
Заявка, заставшая узел S0 занятым, становится в очередь. Дисциплина обслуживания на первой фазе - FIFO. Интенсивность потока па входе n
узла So Л = £ l. i=1
Заявка, заставшая узел S0 занятым, становится в очередь и ожидает до начала обслуживания. Обслуженная узлом S0 заявка с вероятностью po;
поступает на обработку в j-й узел, причем po j = 0 jN, где No j - число
одноадресных команд обращения в j-й блок памяти; N - суммарное число команд обращения ко всем блокам памяти.
Интенсивность потока заявок во второй фазе aj = po j Л, причем заявки из потока aj, поступают на обслуживание с относительным приоритетом. Очередь Oj (j = 1, n) ограничена одним местом.
Поток команд i-го ЦП в i-й блок локальной памяти представляет собой поток заявок в узел Si (i = 1, n) поступающий с интенсивностью
g = , где Njjni - число одноадресных команд обращения i-го ЦП
в локальную память.
Время выполнения команды обращения i-го ЦП к ОП внешнего по отношению к нему ВМ определится как сумма времени выполнения команды tk без учета конфликтного простоя и времени задержки в сети. Вре-
I
мя задержки в сети состоит из времени пребывания Тцр заявки в первой
к
фазе обслуживания (узел S0) и времени ожидания Тдщ в очереди во вто-
I п
рой фазе (один из узлов S1 - Sn) tgni = tk + Тцp + Тощ
Время выполнения команды обращения i-го ЦП в локальную память tjjni = tk + ®OKi где вож1 - время ожидания заявки из потока g в
очереди к узлу Si (i = 1, n),
Так как узел S0; представляет собой марковскую СМО; с одним обслуживающим прибором, то время пребывания заявки в нем составит
ТПР =Л71Г- > (!)
Л(1 -Po)
где Po = Lto - загрузка узла S0 (ОШ); t0 - время обслуживания заявки узлом S0. При межпроцессорной связи без буферизации сообщений to = t3 +1цп , где tз - время занятия ОШ ЦП; tщ - цикл памяти.
Так как заявки из потока a обслуживаются с относительным приоритетом по отношению к заявкам из потока g, то время ожидания заявок из потока a во второй фазе равно остаточному времени обслуживания заявок из потока g.
У 4 (2) Т _ у/'цп
ЮЖ] _—2—, (2)
где - второй момент времени обслуживания блоком памяти.
I I I
Учитывая, что и Тпр (Тпр _ Тож + 4з + 4цп ) одновременно содержат в себе 4 цп, то время выполнения операции обмена с ОП определится как
У 4 (2)
t _ t t , Го , У ЦП (3)
ют _4к -4цт ——+—~—. (3)
Л(1 -ро) 2
В симметричном случае, когда МПС, состоящая из п ЦП, решает одну задачу, распараллеленную на п идентичных подзадач, то 1 _ 1, у _ у поэтому
У (2)
От _ 4к - 4ЦП ^^ . (4)
от к Цт Л(1 -р0) 2
Поток заявок у имеет более низкий приоритет по отношению к заявкам из потока а. В выражение для вычисления времени ожидания в очереди заявок из этого потока входит две составляющие. Первая - остаточное время обслуживания заявок из потока а. Вторая - время ожидания за счет обслуживания заявок из потока а, поступивших в течение времени ожидания заявок из потока у
®о1 _ ®о1 + а1в0Ж14цт, (5) где 0О1 - остаточное время обслуживания заявок из потолка а.
а4 (2)
во1 _ааЦт- (6)
Подставляя (6) в (5) и решая относительно вожг, получим
а4 (2)
_ аггцт (7)
иОЖ1 _ ^---г. (7)
2(1 -а4цт)
Время выполнения команды обращения в локальную память определится как
а/т
4ЛП1 _ 4к + ^---Г . (8)
2(1 -а4цт)
Для симметричного случая
аР-
4лт _ 4к + 2(1 Ц ). (9)
2(1 -Ццт)
МПС, использующая связь с буферизацией, отличается наличием буферных регистров в интерфейсе ОШ-память. Хотя в общем случае буферных регистров (число мест в очереди О/) может быть К, однако будем рассматривать структуры с одним буферным регистром (К= 2), что является наиболее типичным для реальных систем. В такой МПС время обслуживания ОШ состоит из времени занятия ОШ и времени обращения к буферному регистру ¿0 = ^з + б.
Заявка из потока а, застигнувшая узел Б/ занятым обслуживанием предыдущей заявки из того же потока, получает отказ (приостанавливается) и возвращается в конец очереди О0. Обозначим вероятность приостановки узлом Б/, через pjо, тогда вероятность приостановки обслуживания,
п
создаваемая узлами Б - Бп р0 = X Р/о . Связь, показывающая возмож-
/=1
ность передачи заявок с выхода на вход узла Б0 при приостановках изображена на рис. 4 пунктирной линией. Следует отметить и учесть, что суммарный поток заявок в узле Б0 не увеличивается, т.к. ЦП не выдает следующей заявки, пока предыдущая не будет обслужена. Поэтому дополнительная задержка, связанная с приостановками, может быть определена через вероятность приостановки ро и среднее время пребывания заявки в узле Б0
ж = роТпр . (10)
Вероятность приостановки р/ о есть вероятность того, что одноместная очередь перед узлом Б/ занята обслуживанием ранее поступившей заявки из потока а или у
Р/ о = Р2 (1 -Р/
(11)
где Р/ =(а/ + У/ Уцп . Тогда
п
ро = X Р/2 (1 -р/). /=1
(12)
!
Подставив (12) в (1о) и заменив Тцр в соответствии с выражением (1), получим
ж
Ро
п
X Р2 (1 -Р/) /=1
Л(1 -Ро)
Время выполнения операции обмена /-го ЦП с ОП
оп = хк + ТпР + ТоЖ + Ж.
I к
Поставив в (14) выражения для Тцр, Тож и Ж, получим
158
(13)
t _ t + Ро
4ОП1 _ 4к +
Л(1 -Ро)
п 2
1 + I Р72 (1 - Р] ) ] _1
У 4(2)
У]ЦП (15)
2
Модель структуры с физически раздельной общей и локальной памятью. Рассмотрим вначале структуру, где блоки ОП размещены на внутренних шинах ВМ, а межмодульная связь производится без буферизации. Число конфликтных ситуаций в ОП здесь меньше, чем в структуре с объединенной общей и локальной памятью. Это обусловлено тем, что при обращениях ¿-го ЦП в локальную память не создается помех для заявок, поступивших из других ЦП на обслуживание ¿-м блоком ОП.
Отличие математической модели такой структуры от вышерассмот-ренной модели в том, что интенсивность потока у будет определяться
только числом команд обращения ¿-го ЦП к ¿-му блоку ОП Иоп1, т.е.
у _ Мот^Т. Если этот поток мал, то конфликтами в ОП можно пренебречь. Тогда модель упрощается и сводится к одноузловой с обслуживающим устройством Б0. Время выполнения операции обращения к ОП будет состоять из времени 4к и времени ожидания в очереди к узлу Б0
4от _ 'к - ,ЦП+Л(Гр). (16)
Время пребывания заявок в узле Б0 в данном случае можно определить более точно (с меньшей погрешностью), используя модель системы типа М/М/1/п с конечным числом источников заявок (ЦП) п. Тогда среднее число заявок в системе
^ _к_0 (п-к)!. (17)
I Рк-п!-
к _0 (п - к )!
Применяя формулу Литтла [5, 6, 12, 13], получим
п к п!
I крк -
Т-Р _ *_П-^г^ ■ (18)
л£ рк
к _о (п - к )!
_о (п - к)!
Отсюда
п к п-I крк
t _ Г Г + к_о (п - к)! (19)
4оп _ 4к - 4цп +—п-;— • (19)
п!
к _о (п - к )!
В МПС, использующей связь с буферизацией, возможны конфликты как при обращениях к ОШ, так и к ОП. Модель системы аналогична ранее рассмотренной модели с объединенной общей и локальной памятью с тем же способом межмодульной связи. Отличие лишь в том, что поток заявок у в ¿-ю ОП сократится из-за того, что ОП физически отделена от локальной. Если этим потоком пренебречь (на рис. 4 полностью исключить потоки у\ - Уп), то предлагаемая модель несколько упрощается.
Если общая память размещается на ОШ (рис. 3), то исследование такой модели как правило сводится к анализу одноканальной СМО.
Производительность МПС определяется способностью алгоритма распараллеливаться. Также на нее влияют управляющие программы, программы межпроцессорного обмена и конфликты, возникающие в ОР. Оценить производительность можно коэффициентом использования производительности ¿-го ЦП, входящего в состав системы
Ъ = 1 - Щ + е + р + ^), (20)
где
ui /т. , ei
соответственно коэффициенты потерь из-за работы управляющих программ, программ межпроцессорного обмена, последовательных участков программ и конфликтного простоя i-го ЦП; T max - время выполнения наиболее длительной программы, обрабатываемой i-м ЦП.
Ti max = max {Tc4i + Tyi + Tni + T0i + ТКП } , (21)
где TC4i - время выполнения программы i-м ЦП без учета непроизводительных затрат.
Производительность МПС можно рассчитать по выражению
* n
P = P Y, hi, где Р - производительность одного ЦП.
i=1
В статье проведено исследование структурной организации и оценка производительности многопроцессорных вычислительных систем с общей шиной, получены аналитические модели, основанные на разомкнутых сетях массового обслуживания, приведены выражения для оценки производительности многопроцессорных вычислительных систем с общей шиной. Подробно рассмотрены выражения для расчета моделей МПС, в которых для межпроцессорного обмена используется принцип связи без буферизации сообщений. Показанные в работе математические модели и выражения позволяют производить оценку характеристик МПС без построения реальных макетов таких систем.
Список литературы
1. Бикташев Р.А. Князьков В.С. Многопроцессорные системы. Архитектура, топология, анализ производительности: учеб. пособие. Пенза: Изд-во Пенз. гос. ун-та, 2004. 107 с.
2. Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем (2-е изд.). СПб: Питер, 2011. 688 с.
3. Мартышкин А.И. Исследование подсистем памяти с буферизацией транзакций на моделях массового обслуживания // XXI век: итоги прошлого и проблемы настоящего плюс, 2011. № 3. С. 124-131.
4. Martyshkin A.I. Investigation of the memory subsystem of information systems by buffering transactions on the queuing models / Salnikov I.I., Babich M.Yu., Butaev M.M., Martyshkin A.I. // International Journal of Applied Engineering Research, 2016. Vol. 11. № 19. P. 9846-9849.
5. Майоров С. А. Основы теории вычислительных систем: учеб. пособие / С.А. Майоров, Г.И. Новиков, Т.И. Алиев и др.; под ред. С. А. Майорова. М.: Высш. шк., 1978. 408 с.
6. Клейнрок Л. Вычислительные системы с очередями. М.: Мир, 1979. 600 с.
7. Богуславский Л.Б. Вероятностные методы и модели управления потоками данных и ресурсами в сетях и многопроцессорных системах: ав-тореф. дис. ... д-р. техн. наук. М.: Институт проблем управления, 1995. 38 с.
8. Мартышкин А.И. К вопросу оценки времени обслуживания транзакций при обмене данными в многопроцессорных системах на основе общей шины с разделяемой памятью // Вестник Рязанского государственного радиотехнического университета, 2016. № 56. С. 90-98.
9. Мартышкин А.И. Разработка и исследование математических моделей подсистемы «процессор-память» многопроцессорных вычислительных систем архитектур NUMA и SUMA на разомкнутых сетях массового обслуживания // Вестник Рязанского государственного радиотехнического университета, 2016. № 55. С. 55-63.
10. Martyshkin A.I. Development and research of open-loop models the subsystem "Processor-memory" of Multiprocessor systems architectures UMA, NUMA and SUMA // ARPN Journal of Engineering and Applied Sciences, 2016. Vol. 11. № 23. P. 13526-13535.
11. Мартышкин А.И. Разработка и исследование разомкнутых моделей подсистемы «процессор-память» многопроцессорных вычислительных систем архитектур UMA и NUMA // Вестник Рязанского государственного радиотехнического университета, 2015. № 54. Ч. 1. С. 121-126.
12. Алиев Т.И. Основы моделирования дискретных систем. СПб.: СПбГУ ИТМО, 2009. 363 с.
13. Клейнрок Л. Теория массового обслуживания. М.: Машиностроение, 1979. 432 с.
Костров Борис Васильевич, д-р техн. наук, проф., kostrov. b. vaevm.rsreu.ru, Россия, Рязань, Рязанский государственный радиотехнический университет,
Мартышкин Алексей Иванович, канд. техн. наук, доц., [email protected], Россия, Пенза, Пензенский государственный технологический университет
STUDY OF STRUCTURAL ORGANIZATION AND EVALUATION OF PRODUCTIVITY OF MULTIPROCESSOR COMPUTING SYSTEMS WITH COMMON BUS
B. V. Kostrov, A.I. Martyshkin
The article shows analytical models based on open queuing networks, expressions for evaluating the performance of multiprocessor computer systems with a common bus. Expression for calculation of system models in which the communication principle without message buffering is used for inter-processor exchange is considered in detail. In conclusion, the findings made by the relevant work. The above article models allow us to assess the characteristics of multiprocessor systems without building a real layout.
Key words: multiprocessor system, distributed memory, processor, performance, organization, computational module, conflict, inter-processor exchange, analytical modeling, queuing system.
Kostrov Boris Vasilevich, doctor of technical science, professor, kostrov. b. v a evm.rsreu.ru, Russia, Ryazan, Ryazan State Radio Engineering University,
Martyshkin Alexey Ivanovich, candidate of technical sciences, docent, alex-ey314'a yandex. ru, Russia, Penza, Penza State Technological University