Russian Language English Language

Models and methods for a substantiation of the choice of networks hardware structure

The principles of processors architecture in the data flow computer with code copying

Operation features of multiprocessor computation system with common multimodule memory


Express information

Archive of issues

The journal editoral board

News subscription

Guestbook

Submit of manuscripts

Mail us


Backwards




Place for sale
МВС с общей памятью могут быть организованы с использованием общей шины или матричного коммутатора (многовходовой памяти)

 

 

 

Особенности работы многопроцессорной вычислительной системы с общей многомодульной памятью

 

Гилев Ю.М., Дерюгин А.А.

(Москва, Московский энергетический институт (технический университет), Россия)

 

 

 

Объектом рассмотрения является многопроцессорная вычислительная система (МВС) с общей многомодульной памятью.

 

МВС с общей памятью могут быть организованы с использованием общей шины или матричного коммутатора (многовходовой памяти) [1]. Достоинством МВС с общей шиной является простота ее структуры, а основным недостатком – невысокое быстродействие, так как одновременный обмен информацией возможен только между двумя устройствами. В МВС с матричным коммутатором используются несколько шин для доступа к памяти. В такой системе конфликт возникает только в том случае, если обращение идет одновременно к одному модулю памяти [2]. В данной работе будут рассматриваться МВС с матричным коммутатором. Структура такой МВС показана на рис.1. В ее состав входят N процессоров (Р), каждый из которых имеет кэш-память (СМ), M модулей памяти (ММ), коммутатор (К) с арбитрами (AR), каждый из которых определяет последовательность обслуживания процессоров при обращении к одному модулю памяти. Число модулей памяти такой системы не превышает числа процессоров, то есть N³M. Время от момента поступления адреса на вход коммутатора до его появления на входе требуемого модуля памяти мало по сравнению с временем такта процессоров.

 

 

Рис.1. Структура МВС с матричным коммутатором

AR – арбитр; CM – кэш-память; K – коммутатор; MM – модуль памяти; P – процессор

 

 

Одной из важных задач при повышении быстродействия МВС является уменьшение конфликтов, связанных с одновременным обращением двух или более процессоров к одному модулю памяти. Рассмотрим процесс считывания информации объемом ki слов процессором Pi и kj слов процессором Pj. При наличии кэш-памяти считывание осуществляется блоками, состоящими из нескольких слов. Обычно число слов q=4. Время считывания одного слова обычно составляет 2TCY, где TCY – время одного такта процессора. Для уменьшения времени считывания блока память делают секционированной. Число секций равняется числу слов в блоке (q). Благодаря такой организации считывание блока осуществляется не за q·2TCY=8TCY, а за 2TCY+TCY +TCY+TCY = 5TCY (схема 2-1-1-1). То есть первое слово считывается за 2TCY, а последующие слова считываются в каждом такте процессора. Таким образом, информация объемом ki слов будет считана за . Значение  показывает число блоков, содержащих ki слов. Если все эти блоки будут находиться в одном модуле памяти, то при одновременном обращении к этому модулю памяти процессоров Pi и Pj задержка обращения процессора Pj будет равна ТСЧ.i. Диаграмма считывания NБЛ.i блоков процессором Pi и NБЛ.j блоков процессором Pj из одного модуля памяти показана на рис.2.

 

 

Рис. 2. Диаграмма считывания NБЛ.i блоков процессором Pi и NБЛ.j блоков процессором Pj из одного модуля памяти

 

 

Задержку процессора Pj можно сократить, если распределить блоки, считываемые процессором Pi, по разным модулям памяти таким образом, что каждые два соседних блока окажутся в смежных модулях памяти. Диаграмма считывания NБЛ.i блоков процессором Pi и NБЛ.j блоков процессором Pj из разных модулей памяти показана на рис.3. Максимальная задержка процессора Pj будет равной времени считывания одного блока – 5TCY. Для распределения блоков по модулям памяти можно организовать следующий алгоритм формирования адресов: младшие разряды выделить под номер байта в слове и номер слова в блоке, следующие адреса – под номер модуля памяти.

 

 

Рис. 3. Диаграмма считывания NБЛ.i блоков процессором Pi и NБЛ.j блоков процессором Pj из разных модулей памяти

 

 

 

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

 

ЛИТЕРАТУРА

1.                              Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. – СПб.: БХВ-Петербург, 2002. – 608 с.

2.                              Архитектура многопроцессорных вычислительных систем: Учебное пособие /Под ред. В. И. Тимохина. – Л.: Изд-во Ленингр. Ун-та, 1981. – 104 с.