Мультипроцессоры UMA с координатными коммутаторами

Координатные коммутаторы

Их использование позволяет увеличить количество процессорных элементов (ПЭ) в мультипроцессоре. Координатный коммутатор представляет собой матрицу (рис. 18.5,а), в которой:

• строками являются исходящие линии, подсоединенные к ПЭ;

Координатный коммутатор (а); обозначения закрытого (б) и открытого (в) узлов

Рис. 18.5. Координатный коммутатор (а); обозначения закрытого (б) и открытого (в) узлов

• столбцы используются в качестве входящих линий, подключенных к модулям памяти (МП).

В каждом пересечении входящей и исходящей линий находится управляемое соединение (Crosspoint – точка пересечения), которое сохраняет разрыв (рис. 18.5,б) или устанавливает контакт (рис. 18.5,в) между горизонтальной и вертикальной линиями. На рис. 18.5,а выделенные точками контакты обеспечивают связь между следующими парами процессор о память: (001, 100), (011, 111) и (100, 010). Координатный коммутатор относится к неблокируемым сетям. Это значит, что между процессорным элементом с нужным модулем памяти может быть установлена связь даже в том случае, когда какая-то линия или узел уже заняты. Например, если уже установлено семь произвольных связей, оставшийся процессорный элемент всегда можно связать с оставшимся модулем памяти. При использовании координатных коммутаторов не требуется предварительного планирования по прокладке маршрута.

Недостатком координатных коммутаторов является сравнительно быстрое увеличение узлов с ростом числа линий. Коммутатор с квадратной матрицей 1000x1000 содержит миллион узлов. Поэтому коммутаторы применяются в мультипроцессорах средних размеров. Рассмотрим пример такого мультипроцессора.

Sun Enterprise 10000. Состав. Мультипроцессор содержит (рис. 18.6):

  • • 64 процессорных элемента, в качестве которых используются процессоры UltraSPARC на 333 МГц;
  • • 64 модуля памяти, каждый из которых представляет собой ОЗУ на 1 Гбайт;
  • блок передачи с кэш-памятью размером 64 байта. Так как длина строки кэша составляет 64 байта, а ширина канала связи – 16 байтов, для перемещения строки затрачивается 4 цикла;
  • координатный коммутатор 16x16 (Gigaplane-XB), предназначенный для перемещения данных между основной памятью и блоками кэш-памяти. На его плате расположено по 8 гнезд с каждой стороны, в которые устанавливается 16 плат. Каждая плата содержит 4 процессорных элемента и 4 модуля памяти;
  • • 4 адресные шины, предназначенные для отслеживания строк в кэшпамяти. Каждая шина используется для 1/4 физического адресного пространства, а для выбора шины – два адресных бита. В случае промаха кэш-памяти при считывании процессорный элемент обращается к соответствующей адресной шине, чтобы узнать, нет ли нужной строки в блоках кэш-памяти других ПЭ. Одновременно все 16 плат отслеживают 4 адресные шины, и если затребованная строка не найдена в кэш-памяти, ее вызывают из основной памяти. Функциональные характеристики. Каждая адресная шина может отслеживаться в каждом цикле любой другой шины. Цикл шины составляет 12 нс (83,3 МГц), т.е. возможно 167 млн отсле-

Структура мультипроцессора Sun Enterprise 10000

Рис. 18.6. Структура мультипроцессора Sun Enterprise 10000

живаний/с. Каждое отслеживание может потребовать передачи строки кэш-памяти в 64 байта, поэтому узел способен передавать 9,93 Гбайт/с (так как 1 Гбайт=1,0737×109байт). Строка кэш-памяти в 4 байта передается через узел за 4 цикла шины (48 нс) при пропускной способности 1,24 Гбайт/с за одну передачу. Узел способен обрабатывать 16 передач одновременно, поэтому его максимальная пропускная способность составляет 19,87 Гбайт/с, что достаточно для поддержания скорости отслеживания, даже при конфликтных ситуациях.

Для более существенного увеличения количества процессорных элементов используются другие подходы. Рассмотрим один из таких подходов.

 
< Пред   СОДЕРЖАНИЕ     След >