Методика проведения анализа многопроцессорных систем с общей шиной на этапе определения конфигурации системы

УДК 519.872

МЕТОДИКА ПРОВЕДЕНИЯ АНАЛИЗА МНОГОПРОЦЕССОРНЫХ СИСТЕМ С ОБЩЕЙ ШИНОЙ НА ЭТАПЕ ОПРЕДЕЛЕНИЯ КОНФИГУРАЦИИ СИСТЕМЫ

Б.В. Костров, А.И. Мартышкин

Описаны многопроцессорные системы с памятью НМЛ и ЫЦМЛ. Для получения некоторых характеристик таких систем рассмотрены параметры моделей на основе открытых сетей массового обслуживания, а также для исследуемых вычислительных систем с целью формирования исходных данных для моделирования. Отмечено, что модели позволяют производить оценку основных вероятностно-временных характеристик многопроцессорных систем на этапе проектирования без построения реальных систем.

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

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

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

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

528

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

Сегодня известны структурные решения МПС, напрямую зависящие от реализации общей памяти (ОП) и сети взаимодействия между узлами системы. В первую очередь, это МПС с различными архитектурами памяти (иМА, КиМА [4, 8]). В иМА-системах вся память размещается вне процессорных модулей (ПМ) и является удаленной (рис. 1а). Непосредственно ПМ включает в себя только кэш одного или нескольких уровней. Время доступа каждого процессора (ЦП) к любой ячейке ОП одинаково. В КиМА-системах ПМ кроме кэша содержит еще и часть основной памяти, так называемую локальную память (ЛП) (рис.1 б). В таких системах адресное пространство едино и делится между всеми ПМ. Общий объем адресуемой памяти определяется тем, какой объем памяти может адресовать один ПМ.

а

б

Рис. 1. Структуры МПС с архитектурами памяти иМА

529

Следующий признак - организация межпроцессорной связи. В МПС она осуществляется при помощи коммутационной сети, делящейся на два типа: с временной (общая шина (ОШ)) и с пространственной коммутацией (системы с множеством шин).

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

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

Зачастую пользователя интересуют количественные характеристики систем с различной архитектурой. Наиболее употребительными характеристиками являются суммарная производительность «-процессорной системы, реальная пропускная способность памяти и коммутационной сети при заданных значениях структурных параметров и параметров задачи. Важны и другие характеристики, например, среднее время ответа (реакция) системы, средняя длина очередей к устройствам и др.

К структурным параметрам относят: быстродействие отдельного ЦП ¥ср, пропускная способность кэш-памяти ¥к или время обращения 1К

и ряд других [2, 5].

К параметрам самой задачи относят: трудоемкость решения задачи Т, трудоемкость одной ветви 0г и другие [2, 3, 5].

Обобщенная модель системы и задание исходных данных

Процесс решения параллельной задачи и задействованные при этом аппаратные ресурсы в параллельной вычислительной системе можно представить обобщенной моделью, представленной на рис. 2. Задания на обработку поступают извне от пользователей или формируются прикладными программами. Считается, что МПС состоит из одинаковых ЦП с симметричной обработкой [4], т.е. каждый ПМ кроме прикладных задач обрабатывает программы ОС.

Пусть каждая задача распараллеливается ровно на « ветвей по числу ЦП в системе, причем все ветви имеют одинаковую трудоемкость 0. =0 = Т/п.

Рис. 2. Модель взаимодействия ресурсов МПС при решении задачи

Задания на обработку ветвей поступают с интенсивностью 10, причём заявки вначале принимаются ПМ, каждый из которых содержит в своём составе ЦП, одно-, двух- или трёхуровневый кэш и, возможно, локальную память (ЛП). Время обработки в ЦП находится в прямой зависимости от быстродействия ЦП и составляет

VCP =о/ ^ ,

где 0о - трудоемкость процессорных операций, выполняемых за один этап обработки алгоритма, причем 0о = 0/N, где N - число этапов обработки в одном ПМ.

Большая часть операций, связанных с обработкой ветви, выполняется в ПМ, поскольку часто используемые команды и данные находятся в кэш. При кэш-промахе происходит обращение к оперативной памяти либо к локальной (ЛП), либо к одному из модулей удаленной памяти (ОП1 - ОПт).

Поскольку вычислительный процесс начинается и заканчивается в ПМ, то считается, что число этапов обработки в ПМ N = D +1, где О -число обращений ПМ во внешнюю память за время решения задачи [1, 5]. Очевидно, что О определяется вероятностью страничного прерывания р^. В свою очередь частота обращений во внешнюю память зависит от числа обращений вычислительного процесса в оперативную память за время решения задачи, которая определяется вероятностью кэш-промаха рт. Причем рт равна отношению числа процессорных операций, выполненных с обращением в оперативную память, к числу операций, выполненных ЦП с участием кэш за время решения задачи. Таким образом, на один запрос во внешнюю память УП сформирует М = 1/рв обращений в оперативную

память, а на одно обращение в ОП ЦП выполнит F = 1/рт операций с участием кэш. Отсюда следует, что на одно обращение во внешнюю па-

531

мять приходится 0О = F хM = 1/pmPs процессорных операций, выполненных совместно с кэш. Это число и принимается за трудоемкость одного этапа решения задачи 0О. Тогда число этапов решения задачи составит N = 0/0О, а число этапов обслуживания во внешней памяти за время решения задачи составит D = N -1.

Для определения времени обслуживания памятью необходимо знать её пропускную способность VM и объем передаваемых данных за время реализации одного этапа задач pM 0О:

v = Pм0о/^ .

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

Vм = Pм0о

где g и h - доли транзакций (операций) записи и чтения соответственно в

алгоритме решения задачи, а Уш и Ук - пропускные способности памяти

по записи и по чтению соответственно, конкретные значения которых можно определить с помощью существующих тестовых программ [6].

Рассмотренный выше способ определения времени обслуживания производится исходя из наилучших условий работы памяти. Другим средством определения времени обслуживания, приближенным к реальным или наихудшим условиям работы памяти, являются тайминги [7, 8], которыми обозначают временные параметры памяти.

Любая операция записи или чтения включает в себя нескольких фаз, определяемых временной последовательностью действий ЦП и контроллера памяти. При реализации одной операции можно определить четыре фазы: 1) фиксирование адреса в контроллере памяти tA; 2) активация строки запоминающей матрицы ta; 3) передача строки кэш данных ^; 4) деактивация строки запоминающей матрицы td. Первая фаза относится к действиям ЦП, все остальные - к действиям контроллера и являются обобщенными значениями таймингов памяти.

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

Рассмотрим метод случайного доступа, который создает наихудшие условия работы памяти и позволяет получать гарантированные оценочные значения её временных характеристик, что важно, например, для

532

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

¡R = ^WR = ¡A + ^a + ^W + ^d .

Если производится пакетная передача данных, например, строками кэш, то среднее время чтения, приходящееся на одно слово, сокращается и составляет

¡RS =

где b - число слов в передаваемом пакете данных.

Время выполнения операции записи в строку кэш зависит от принятого способа её реализации. Чаще всего в кэш первого уровня применяют сквозную запись, когда слово записывается сначала в память, после чего происходит обновление строки. Причем обновление строки кэш производится путем чтения пакета данных из открытой во время операции записи страницы памяти:

¡WR = tA + ¡а + ¡w +

Среднее время обслуживания памятью заявок от ЦП за время решения одного этапа задачи определится по выражению

Vm = PM Q0

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

Vb = Pm

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

¡BR =

а для операций записи

¡BWR =t + ¡A + ¡W ,

Обмен между ЦП и удаленной памятью в МПС может производиться либо с расщеплением (обмен с накоплением (буферизацией) данных), либо без расщепления транзакций (обмен без накопления данных) [5, 9, 10]. Процедура обращения в удаленную память без расщепления транзакций в системах с ОШ является наиболее медленной и заключается в следующем. Вначале ЦП выполняет арбитраж шины, на который уходит некоторое время, затем выставляет адрес ячейки, который фиксируется в контроллере памяти. Дальнейшие действия происходят независимо от ЦП.

533

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

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

Время обслуживания ОШ при расщеплении транзакций в режиме чтения составит

tвR =*+ tA +

а в режиме записи

tBWR + 1;А ,

Отсюда среднее время, приходящееся на обслуживание общей шиной одной транзакции, составит

IВТ — gtBWR + h^BR .

Тогда время обслуживания ОШ, создаваемого потоком транзакций в память за время решения одного этапа задачи трафика, составит VBT — Рт^в, а с учетом

Vвт — Рм 0>[г + tA + h

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

534

обеспечить единство данных, нужно синхронизировать копии этой ячейки, хранящиеся в кэш других ЦП. Для кэш-когерентности используется некоторая процедура слежения. Здесь каждый ЦП имеет возможность «прослушивания» ОШ, распознавая все операции записи в кэши ЦП [11 - 14]. Такое прослушивание становится возможным, если адрес записи транслируется на ОШ. Причем такая трансляция обеспечивается не прикладной программой, а производится аппаратурой МПС. Пусть рк - вероятность появления операции записи в ячейку с разделяемыми данными при выполнении одного этапа задачи. Тогда число операций, связанных с кэш-когерентностью, за время реализации одного этапа задачи, будет равно рк0о. Пусть 1К - время выполнения одной операции по обеспечению кэш-когерентности, тогда среднее время обслуживания ОШ всех операций, обеспечивающих кэш-когерентность составит

узк = рк0оtк .

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

ури = рз & + Q / Vpu),

где Q - объём данных в передаваемой странице. Время характерно для накопителей типа «жесткий диск» и состоит из времени поиска дорожки и нужного сектора на ней. Это время ограничивает пропускную способность накопителя. Для устранения этого недостатка применяют кэширование данных, читаемых из накопителя внешней памяти. Пропускная способность ввода/вывода в этом случае будет характеризоваться в основном скоростью передачи данных накопителем. Тогда время обслуживания запроса во внешнюю память можно определить согласно выражению

Ури = PsQ / Vрu .

Общее среднее время обслуживания ОШ за время реализации одного этапа задачи с учетом выражений (14), (15), (17) составит

= узт + узк + ури .

Обобщенная математическая модель для анализа МПС

Обобщенная математическая модель для получения вероятностных характеристик МПС, основанная на открытых сетях массового обслуживания, показана на рис.3. Здесь Бо - генератор и поглотитель задач, является фиктивной (не вносящей никаких задержек в МПС) системой массового обслуживания (СМО) [2, 5].

Рис. 3. Обобщенная математическая модель обслуживания заявок

Источник 8о вырабатывает поток задач с интенсивностью 1о. Задачи поступают с определенной долей вероятности на обслуживание в ПМ. Если задача полностью обслужилась, она выходит с вероятностью р^ = 1/ N и поглощается СМО 8о. Если в процессе выполнения задачи произошел кэш-промах, задача с некоторой вероятностью рт направляется на обработку в память, иначе с вероятностью рн остается на обслуживании ЦП в совокупности с кэш.

Анализ функционирования МПС сводится к получению на математических моделях, представленных разомкнутыми сетями массового обслуживания, вероятностно-временных характеристик. В таких моделях каждое отдельное устройство или модуль может представляться либо многоканальной, либо одноканальной, либо совокупностью нескольких одно-канальных СМО [15].

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

ОП на одном блоке, представляется одноканальной СМО, параллельная память - либо многоканальной, либо совокупностью одноканальных СМО. Допустим, блоки параллельной памяти являются независимыми, с фиксированным распределением адресного пространства для размещения программ и данных, то такая память моделируется совокупностью однока-нальных СМО. Если предположить, что используется память с расслоением данных [2], то как модель можно применять многоканальную СМО.

ПМ представляются множеством одноканальных СМО, если применено статическое назначение задач. При динамическом назначении задач или ветвей ПМ представляется многоканальной СМО. Следует также учитывать, что модель ПМ зависит от типа примененной архитектуры памяти иМА или КИМА [13].

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

Для получения характеристик МПС с ОШ и иМА-архитектурой памяти на аналитических моделях рассмотрим модель МПС с расслоенной памятью и ОС, в которой реализовано динамическое назначение задач. Пусть в системе имеется п ЦП. Блок памяти содержит т одинаковых модулей. Устройство внешней памяти содержит одно устройство ВЗУ (один жесткий диск). Структура сетевой модели такой системы будет содержать п-канальную СМО, представляющую ПМ, т-канальную СМО блока памяти. Моделями ОШ, кэш-когерентности и внешней памяти будут являться одноканальные СМО. Примем вероятность кэш-промаха находящейся в пределах 0,01 - 0,1; вероятность страничных прерываний - в пределах 0,01 - 0,05, вероятность выполнения операций по обеспечению кэш когерентности - в пределах 0,05 - 0,1 от числа операций, выполняемых ЦП при реализации одного этапа алгоритма.

Рис. 4. Модель МПС с расслоенной памятью и ОС, в которой реализовано динамическое назначение задач

Для проведения исследования воспользуемся программой для расчета стохастических сетей массового обслуживания [16]. Прежде чем начать моделировать описанную модель МПС, необходимо подготовить исходные данные для последующего исследования. Для этого необходимо найти значения времён обслуживания в каждом обслуживающем приборе путем извлечения их из технических характеристик устройств МПС. Следовательно, нужно задать технические средства, на которых может быть построена МПС.

537

Пусть для наглядности тестовым ЦП выступает Sempron 3000+ с тактовой частотой 1800 МГц (х86-64). Системная шина FSB имеет тактовую частоту 200 МГц. В качестве памяти применяется DDR DRAM 400 МГц РС 3200, синхронно работающая по каждому фронту тактового генератора шины. С помощью тестовой программы RightMark Memory Analyzer v3.8 [6] определяем пропускную способность памяти, составляющую на операциях чтения VR = 2250 MB / c = 281,251 net a/n, а на операциях записи VWR = 12001 A /n = 1501 net a/n. Программой Dr. Hardware [17] определим среднюю скорость тестового дискового накопителя, которая составляет VPU = 361 A /n.

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

Трудоемкость одной ветви составляет 0 = T/n = 250 • 103 операций.

Пусть вначале вероятность кэш-промаха имеет значение pm = 0,01 , а вероятность страничного прерывания - ps = 0,05, вероятность появления операций по кэш-когерентности равна pk = 0,1. Тогда трудоемкость одного этапа счета в ПМ составит 00 = F х M = 1/ pmps = 2 • 103 операций.

Примем, что за каждый такт ЦП выполняет одну операцию, т.е. VCP = 1800 • 106 операций в секунду. Тогда время обслуживания заявки в ПМ (время реализации одного этапа выполнения ветви задачи) определится по выражению (1) vCP = 00/ VCP = 2 1 03/1800 • 106 = 1,11 •Ю"6 с = 1,11 мкс.

Число этапов решения задачи составит N = 0/00 = 125, отсюда вероятность решения задачи составит p10 = 1/ N = 1/125 = 0,008, а вероятность обращения задачи к памяти или ВЗУ составит соответственно 1...0,008=0,992.

Примем число транзакций чтения из памяти равным 90 %, а транзакций записи - 10 % из всех обращений ЦП к памяти. Тогда время обслуживания памятью определится по выражению (3) и составит

VM = pm 00( g/VWR + hlVR ) =

0,01 • 2 • 103(0,1 /150 • 106 + 0,9/281,25 • 106) = 0,0768 мкс.

Провести исследование описанной выше математической модели можно при помощи аналитического либо имитационного моделирования [3, 16].

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

Список литературы

1. Байцер Б. Микроанализ производительности вычислительных систем. М.: Радио и связь, 1983. 360 с.

2. Майоров С.А. Основы теории вычислительных систем: учебное пособие / С. А. Майоров [и др.]; под ред. С.А. Майорова. М.: Высш. шк., 1978. 408 с.

3. Алиев Т.И. Основы моделирования дискретных систем. СПб.: СПбГУ ИТМО, 2009. 363 с.

4. Таненбаум Э., Бос Х. Современные операционные системы. 4-е изд. СПб.: Питер, 2015. 1120 с.

5. Бикташев Р. А. Князьков В.С. Многопроцессорные системы. Архитектура, топология, анализ производительности: учебное пособие. Пенза: Изд-во Пенз. гос. ун-та, 2004. 107 с.

6. RightMark Memory Analyzer 3.8 - комплексный тест для оценки быстродействия оперативной памяти [Электронный ресурс] // RightMark Memory Analyzer 3.8 - комплексный тест для оценки быстродействия оперативной памяти - Новости - Overclockers.ru. URL: https://overclockers.ru/softnews/show/28434/Ri ghtMark_Memory_Analyzer_3. 8_-

kompleksnyj test dlya ocenki bystrodejstviya operativnoj pamyati?utm source =feed the cat (дата обращения: 01.09.2018).

7. Тайминг оперативной памяти. Оперативная память компьютера [Электронный ресурс] // Тайминг оперативной памяти. Оперативная память компьютера: SYL.ru. URL: https://www.syl.ru/article/157419/new tay ming-operativnoy-pamyati-operativnaya-pamyat-kompyutera (дата обращения: 01.09.2018).

8. Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем. 2-е изд. СПб.: Питер, 2011. 688 с.

9. Мартышкин А.И. Исследование подсистем памяти с буферизацией транзакций на моделях массового обслуживания // XXI век: итоги прошлого и проблемы настоящего плюс. 2011. № 3. С. 124-131.

10. Martyshkin A.I. Investigation of the memory subsystem of information systems by buffering transactions on the queuing models / I.I. Salnikov, M.Yu. Babich, M.M. Butaev, A.I. Martyshkin // International Journal of Applied Engineering Research. 2016. Vol. 11. № 19. P. 9846-9849.

11. Мартышкин А.И. К вопросу оценки времени обслуживания транзакций при обмене данными в многопроцессорных системах на основе общей шины с разделяемой памятью // Вестник Рязанского государственного радиотехнического университета. 2016. № 56. С. 90-98.

12. Костров Б.В., Мартышкин А.И. Исследование структурной организации и оценка производительности многопроцессорных вычислительных систем с общей шиной // Известия Тульского государственного университета. Технические науки. 2018. Вып. 2. С. 152-162.

13. 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.

14. Мартышкин А.И. Разработка и исследование разомкнутых моделей подсистемы «процессор-память» многопроцессорных вычислительных систем архитектур UMA и NUMA // Вестник Рязанского государственного радиотехнического университета. 2015. № 54. Ч. 1. С. 121-126.

15. Богуславский Л.Б. Вероятностные методы и модели управления потоками данных и ресурсами в сетях и многопроцессорных системах: авто-реф. дис. ... д-ра. техн. наук. М.: Ин-т проблем управления, 1995. 38 с.

16. Мартышкин А.И., Бикташев Р. А. Программный комплекс для расчета вероятностно-временных характеристик стохастических сетей массового обслуживания // Программы для ЭВМ. Базы данных. Топологии интегральных микросхем. 2013. № 1.

17. Dr. Hardware 2016 [Электронный ресурс] // Dr. Hardware 2016 - Peter A. Gebhard Software Informer. URL: https://dr-hardware-2016.software.informer.com/ (дата обращения: 01.09.2018).

Костров Борис Васильевич, д-р техн. наук, профессор, зав. кафедрой, kostrov. b.v@evm.rsreu.ru, Россия, Рязань, Рязанский государственный радиотехнический университет,

Мартышкин Алексей Иванович, канд. техн. наук, доцент, alexey314@yandex.ru, Россия, Пенза, Пензенский государственный технологический университет

THE METHODOLOGY FOR THE ANALYSIS OF MULTIPROCESSOR SYSTEMS WITH COMMON BUS AT THE STAGE OF DETERMINING THE CONFIGURATION

OF THE SYSTEM

B.V. Kostrov, A.I. Martyshkin

The article describes multiprocessor systems with memory UMA and NUMA. To obtain some characteristics of such systems, the parameters of models based on open queuing networks, as well as for the computational systems under investigation with the purpose of generating initial data for modeling, are considered. In conclusion, the main conclusions on the work are made. The models considered in the article make it possible to estimate the main probabilistic-temporal characteristics of multiprocessor systems at the design stage without constructing real systems.

Key words: multiprocessor system, distributed memory, processor, performance, processor module, interprocessor exchange, analytical modeling, queuing system, memory architecture, switching network.

Kostrov Boris Vasilevich, doctor of technical sciences, professor, head of chair, kostrov. b. v@evm. rsreu. ru, Russia, Ryazan, Ryazan State Radio Engineering University,

Martyshkin Alexey Ivanovich, candidate of technical sciences, docent, alex-ey314@yandex. ru, Russia, Penza, Penza State Technological University