Russian Language English Language

2 Модели и методы для обоснования выбора состава аппаратных средств ВС

2.1 Принципы построения процессоров ВС, реализующей потоковые вычисления с копированием кода

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


Экспресс информация

Редколлегия журнала

Подписка на новости

Гостевая книга

Предоставление материалов

Письмо в редакцию

На начало


2003, Номер1 ( 3)



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

BC/NW 2003г., №1(3)/ 2.2

 

 

 

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

 

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

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

 

 

 

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

 

МВС с общей памятью могут быть организованы с использованием общей шины или матричного коммутатора (многовходовой памяти) [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 с.