Сетевое издание
Международный студенческий научный вестник
ISSN 2409-529X

TO THE QUESTION OF THE ANALYSIS OF MULTIPROCESSOR SYSTEM WITH SHARED MULTI-MODULE MEMORY

Zotkina A.A. 1 Martyshkin A.I. 1
1 Penza state technological university
The article describes the structure of a multiprocessor computer system with a shared multimodule memory. It is described that in such system, a conflict situation arises when two or more processors simultaneously access one memory module. In this situation, the order of service is determined by the priority service of the arbitrator, which is part of the system switch. The purpose of this article is to determine if a given multiprocessor system is cope with the task flow, as well as determining the minimum number of processors needed to solve a particular task flow. The algorithm of memory operation is described in detail. In the conclusion of the article, it was noted that it is possible to build an imitation model of a multiprocessor computer system with a common multimodule memory using the accepted assumptions and using the expressions obtained in the work to determine the times of states of the model elements of the system.
multiprocessor system
multi-module memory
conflict
controller
arbiter
task flow
model
program
processor
algorithm

Объектом рассмотрения является многопроцессорная вычислительная система (МПВС) с общей многомодульной памятью (рисунок). В ее состав входят N процессоров (ЦП) (P) с кэш-памятью (CM), M модулей общей памяти (MM) и коммутаторов K. Число модулей памяти (МП) не превышает число процессоров (M ≤ N).

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

В общем случае, вместо некоторых ЦП стоят устройства ввода/вывода (УВВ) со своими контроллерами прямого доступа к памяти (ПДП или КПДП). Они, как и процессоры, являются активными элементами МПВС. УВВ со своими КПДП можно рассматривать как ЦП ввода-вывода. Каждый МП делается секционированным. Число секций модуля памяти определяется размером блока кэш-памяти (обычно 4 слова). Способ формирования адресов самих МП описан в [6].

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

zot1.tif

Рис. 1. Структура МПВС с общей многомодульной памятью: AR – арбитр; CM – кэш-память; K – коммутатор; MM – модуль общей памяти; P – процессор

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

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

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

Каждая модель элемента характеризуется набором своих состояний, алгоритмом смены состояний и уникальным идентификатором, определяющим эту модель элемента в модели системы [8, 9, 10]. Состояние модели всей системы в конкретный момент времени характеризуется набором состояний моделей ее элементов в этот момент. Для учета длительности состояний моделей элементов в модель системы вводится счетчик текущего времени. Значение счетчика может быть выражено в реальных единицах времени, например, в секундах, минутах и так далее, но может быть выражено и в модельных единицах времени. В последнем случае, должно быть установлено соответствие между реальными единицами времени и модельными.

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

Моделируемыми элементами системы в нашем случае являются: РЦП с кэш-памятью, УП, УВВ и ММ с коммутатором и арбитром. ММ с коммутатором и арбитром – единый элемент в модели, т.к. характеризуются единым набором состояний, определяемым арбитром. Управляющий ЦП получает сигналы от УВВ об окончании записи входных данных задачи и сигналы об окончании решения сегментов от рабочих ЦП. Функциями управляющего ЦП являются выбор готового к выполнению сегмента, выбор свободного ЦП и назначение выбранного сегмента на свободный ЦП. Назначение заключается в отправке сигнала рабочему ЦП с указанием номера задачи и сегмента.

Рабочий ЦП решает назначенный на него сегмент задачи и отправляет сигнал УП об окончании решения сегмента задачи. Для построения алгоритма решения задачи рабочим ЦП приняты следующие допущения:

– РЦП считывает из ММ в кэш соответствующую прикладную программу решения сегмента не распределено в процессе его решения, а перед решением;

– РЦП считывает входные данные сегмента из ММ в кэш-память не распределено в процессе его решения, а перед решением;

– запись результатов в общую память (ОП) осуществляется только после решения сегмента.

Время считывания программы можно определить из следующих предположений. Пусть команда выполняется в среднем за 2 такта. Тогда количество выполняемых команд Nвып за время решения сегмента вычисляется по выражению

zotk2.wmf, (1)

где zotk3.wmf – время решения сегмента, zotk4.wmf – длительность одного такта.

Число считываемых команд из ОП меньше этого значения, так как одни и те же команды могут, находясь в кэш-памяти, выполняться несколько раз (например, в цикле). Для вычисления числа считываемых из ОП команд введем коэффициент цикличности КЦИКЛ (например, 2). Тогда число считываемых из ОП команд NСЧИТ вычисляется по выражению

zotk5.wmf. (2)

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

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

Приход задач в МПВС осуществляется через УВВ. Задача каждого типа приходит через определенное УВВ, т.е. распределение задач по УВВ осуществляется статически. Перед записью новых входных данных УВВ считывает результаты решения предыдущей задачи. Взаимодействие УВВ с ОП осуществляется по словам в режиме ПДП на частоте работы ОП. Время TIN, требуемое для записи новых входных данных задачи объёмом zotk6.wmf слов, определяется по выражению

zotk7.wmf. (3)

Время TOUT , требуемое для считывания результатов решения задачи объёмом VOUT слов, определяется по выражению

zotk8.wmf. (4)

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