ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.12.2021
Просмотров: 2464
Скачиваний: 7
Системы с массовой параллельной обработкой (МРР) 6 0 1
Основные причины появления систем с массовой параллельной обработкой —
это, во-первых, необходимость построения ВС с гигантской производительностью
и, во-вторых, стремление раздвинуть границы производства ВС в большом диапа-
зоне, как производительности, так и стоимости. Для МРР-системы, в которой
количество процессоров может меняться в широких пределах, всегда реально по-
добрать конфигурацию с заранее заданной вычислительной мощностью и финан-
совыми вложениями.
Если говорить о МРР как о представителе класса MIMD с распределенной па-
мятью и отвлечься от организации ввода/вывода, то эта архитектура является ес-
тественным расширением кластерной на большое число узлов. Отсюда для МРР-
систем характерны все преимущества и недостатки кластеров, причем в связи
с повышенным числом процессорных узлов как плюсы, так и минусы становятся
гораздо весомее.
Характерная черта МРР-систем — наличие единственного управляющего уст-
ройства (процессора), распределяющего задания между множеством подчиненных
ему устройств, чаще всего одинаковых (взаимозаменяемых), принадлежащих од-
ному или нескольким классам. Схема взаимодействия в общих чертах довольно
проста:
-
центральное управляющее устройство формирует очередь заданий, каждому из
которых назначается некоторый уровень приоритета;
- по мере освобождения подчиненных устройств им передаются задания из оче-
реди;
- подчиненные устройства оповещают центральный процессор о ходе выполне-
ния задания, в частности о завершении выполнения или о потребности в до-
полнительных ресурсах;
- у центрального устройства имеются средства для контроля работы подчинен-
ных процессоров, в том числе для обнаружения нештатных ситуаций, прерыва- .
ния выполнения задания в случае появления более приоритетной задачи и т. п.
В некотором приближении имеет смысл считать, что на центральном процессо-
ре выполняется ядро операционной системы (планировщик заданий), а на подчи-
ненных ему — приложения. Подчиненность между процессорами может быть реа-
лизована как на аппаратном, так и на программном уровне.
Вовсе не обязательно, чтобы МРР-система имела распределенную оператив-
ную память, когда каждый процессорный узел владеет собственной локальной па-
мятью. Так, например, системы SPP1000/XA и SPP1200/XA [43] являют собой
пример ВС с массовым параллелизмом, память которых физически распределена
между узлами, но логически она общая для всей вычислительной системы. Тем не
менее большинство МРР-систем имеют как логически, так и физически распреде-
ленную память.
Благодаря свойству масштабируемости, МРР-системы являются сегодня ли-
дерами по достигнутой производительности; наиболее яркий пример этому — Intel
Paragon с 6768 процессорами. С другой стороны, распараллеливание в МРР-сис-
темах по сравнению с кластерами, содержащими немного процессоров, становится
еще более трудной задачей. Следует помнить, что приращение производительнос-
ти с ростом числа процессоров обычно вообще довольно быстро убывает (см. закон
6 0 2 Глава 14. Вычислительные системы класса MlМD
Амдала). Кроме того, достаточно трудно найти задачи, которые сумели бы эффек-
тивно загрузить множество процессорных узлов. Сегодня не так уж много приложе-
ний могут эффективно выполняться на МРР-системе, Имеет место также проблема
переносимости программ между системами с различной архитектурой. Эффектив-
ность распараллеливания во многих, случаях сильно зависит от деталей архитек-
туры МРР-системы, например топологии соединения процессорных узлов.
Самой эффективной была бы топология, в которой любой узел мог бы напря-
мую связаться с любым другим узлом, но в ВС на основе МРР это технически
трудно реализуемо. Как правило, процессорные узлы в современных МРР-компь-
ютерах образуют или двухмерную решетку (например, в SNI/Pyramid RM1000)
или гиперкуб (как в суперкомпьютерах nCube [8]).
Поскольку для синхронизации параллельно выполняющихся процессов необ-
ходим обмен сообщениями, которые должны доходить из любого узла системы
в любой другой узел, важной характеристикой является диаметр системы
D.
В слу-
чае двухмерной решетки
D
- sqrt(n), в случае гиперкуба
D
- 1n(n). Таким образом,
при увеличении числа узлов более выгодна архитектура гиперкуба.
Время передачи информации от узла к узлу зависит от стартовой задержки
и скорости передачи. В любом случае, за время передачи процессорные узлы успе-
вают выполнить много команд, и это соотношение быстродействия процессорных
узлов и передающей системы, вероятно, будет сохраняться — прогресс в произво-
дительности процессоров гораздо весомее, чем в пропускной способности каналов
связи. Поэтому инфраструктура каналов связи в МРР-системах является объек-
том наиболее пристального внимания разработчиков.
Слабым местом МРР было и есть центральное управляющее устройство (ЦУУ) -
при выходе его из строя вся система оказывается неработоспособной. Повышение
надежности ЦУ У лежит на путях упрощения аппаратуры ЦУУ и/или ее дублиро-
вания.
Несмотря на все сложности, сфера применения ВС с массовым параллелизмом
постоянно расширяется. Различные системы этого класса эксплуатируются во
многих ведущих суперкомпьютерных центрах мира. Следует особенно отметить
компьютеры Cray T3D и Cray T3E, которые иллюстрируют тот факт, что мировой
лидер производства векторных суперЭВМ, компания Cray Research, уже не ори-
ентируется исключительно на векторные системы. Наконец, нельзя не вспомнить,
что суперкомпьютерный проект министерства энергетики США основан на МРР-
системе на базе Pentium.
На рис. 14.14 показана структура МРР-системы RM1000, разработанной фир-
мой Pyramid.
В RM1000 используются микропроцессоры типа MIPS. Каждый узел содер-
жит процессор R4400, сетевую карту Ethernet и два канала ввода/вывода типа SCSI.
Реализованный вариант включает в себя 192 узла, но сеть соединений предусмат-
ривает масштабирование до 4096 узлов. Каждый узел имеет коммуникационный
компонент для подключения к соединяющей сети, организованной по топологии
двухмерной решетки. Связь с решеткой поддерживается схемами маршрутизации,
с четырьмя двунаправленными линиями для связи с соседними узлами и одной
линией для подключения к данному процессорному узлу. Скорость передачи ин-
формации в каждом направлении — 50 Мбит/с.
Вычислительные системы с неоднородным доступом к памяти 6 0 3
Рис. 14.14. Структура МРР-системы RM1000
Каждый узел работает под управлением своей копии операционной систе-
мы, управляет «своими»- периферийными устройствами и обменивается с дру-
гими узлами путем пересылки сообщений по сети соединений. Операционная
система содержит средства для повышения надежности и коэффициента го-
трвности.
Отметим, что при создании МРР-систем разные фирмы отдают предпочтение
различным микропроцессорам и топологиям сетей соединений (табл, 14.2).
Таблица 14.2. Основные характеристики некоторых МРР-систем
Вычислительные системы с неоднородным
доступом к памяти
Основные платформы, обычно применяемые при создании коммерческих муль-
типроцессорных систем, это SMP, МРР и кластеры. Наряду с ними в последнее
время стали появляться решения, в которых акцентируется способ организации
памяти. Речь идет о ВС, построенных в соответствии с технологией неоднородного
доступа к памяти (NUMA, Non-Uniform Memory Access), точнее с кэш-когерент-
ным доступом к неоднородной памяти (CC-NUMA).
6 0 4 Глава 14. Вычислительные системы класса MIMD
В симметричных мультипроцессорных вычислительных системах (SMP) име-
ет место практический предел числа составляющих их процессоров. Эффектив-
ная схема с кэш-памятью уменьшает трафик шины между процессором и основной
памятью, но по мере увеличения числа процессоров трафик шины также возрастает.
Поскольку шина используется также для передачи сигналов, обеспечивающих ко-
герентность, ситуация с трафиком еще более напрягается. С какого-то момента в
плане производительности шина превращается в узкое место. Для систем типа SMP
таким пределом становится число процессоров в пределах от 16 до 64. Например,
объем SMP-системы Silicon Graphics Power Challenge ограничен 64 процессорами
R10000, поскольку при дальнейшем увеличении числа процессоров производитель-
ность падает.
Ограничение на число процессоров в архитектуре SMP служит побудительным
мотивом для развития кластерных систем, В последних же каждый узел имеет ло-
кальную основную память, то есть приложения «не видят» глобальной основной
памяти. В сущности, когерентность поддерживается не столько аппаратурой, сколь-
ко программным обеспечением, что не лучшим образом сказывается на продук-
тивности. Одним из путей создания крупномасштабных вычислительных систем
является технология CC-NUMA. Например, NUMA-система Silicon Graphics Origin
поддерживает до 1024 процессоров R10000 [223], a Sequent NUMA-Q объединяет
252 процессора Pentium II [157].
На рис. 14.15 показана типичная организация систем типа CC-NUMA [36].
Имеется множество независимых узлов, каждый из которых может представлять
собой, например, SMP-систему. Таким образом, узел содержит множество процес-
соров, у каждого из которых присутствуют локальные кэши первого (L1) и вто-
рого (L2) уровней. В узле есть и основная память, общая для всех процессоров
этого узла, но рассматриваемая как часть глобальной основной памяти системы,
В архитектуре CC-NUMA узел выступает основным строительным блоком. На-
пример, каждый узел в системе Silicon Graphics Origin содержит два микропроцес-
сора MIPS R10000, а каждый узел системы Sequent NUMA-Q включает в себя че-
тыре процессора Pentium II. Узлы объединяются с помощью какой-либо сети
соединений, которая представлена коммутируемой матрицей, кольцом или
имеет иную топологию.
Согласно технологии CC-NUMA, каждый узел в системе владеет собственной
основной памятью, но с точки зрения процессоров имеет место глобальная адресуе-
мая память, где каждая ячейка любой локальной основной памяти имеет уникаль-
ный системный адрес. Когда процессор инициирует доступ к памяти и нужная
ячейка отсутствует в его локальной кэш-памяти, кэш-память второго уровня (L2)
процессора организует операцию выборки. Если нужная ячейка находится в ло-
кальной основной памяти, выборка производится с использованием локальной
шины. Если же требуемая ячейка хранится в удаленной секции глобальной памя-
ти, то автоматически формируется запрос, посылаемый по сети соединений на нуж-
ную локальную шину и уже по ней к подключенному к данной локальной шине
кэшу. Все эти действия выполняются автоматически, прозрачны для процессора
и его кэш-памяти,
В данной конфигурации главная забота — когерентность кэшей. Хотя отдель-
ные реализации и отличаются в деталях, общим является то, что каждый узел со-
Вычислительные системы с неоднородным доступом к памяти 6 0 5
Рис. 14.15. Организация систем типа CC-NUMA
держит справочник, где хранится информация о местоположении в системе каж-
дой составляющей глобальной памяти, а также о состоянии кэш-памяти.
Чтобы проанализировать, как работает такая схема, воспользуемся примером,
приведенным в [182]. Пусть процессор 3 узла 2 (Р2.3) запрашивает ячейку с адре-
сом 798, расположенную в узле 1. Будет наблюдаться такая последовательность
действий:
1. Р2.3 выдает на шину наблюдения узла 2 запрос чтения ячейки 798.
2. Справочник узла 2 видит запрос и распознает, что нужная ячейка находится
в узле 1.
3. Справочник узла 2 посылает запрос узлу 1, который принимается справочни-
ком узла 1.
4. Справочник основной памяти 1, действуя как заменитель процессора Р2.3, за-
прашивает ячейку 798, так как будто он сам является процессором.
5. Основная память узла 1 реагирует тем, что помещает затребованные данные
на локальную шину узла 1.
6. Справочник узла 1 перехватывает данные с шины.
7. Считанное значение через сеть соединений передается обратно в справочник
узла 2.
8. Справочник узла 2 помещает полученные данные на локальную шину узла 2,
действуя при этом как заместитель той части памяти, где эти данные фактичес-
ки хранятся.