© Центр суперкомпьютерных и массивно-параллельных приложений, 1997.
Андреев Александр Николаевич (alexander@vvv.srcc.msu.su), вариант от 12 Октября1997
Семейство "технических серверов" Exemplar (Exemplar Techical Server Portfolio) корпорации HP предлагает пользователям свои услуги в следующих пяти важнейших областях: 1) вычисления, 2) обработка информации, 3) хранение данных, 4) функции файл-сервера и 5) серверные приложения для Интернет и интрасетей.
Эволюция систем Exemplar, от Convex SPP 1000 до будущих систем на базе Merced, кратко представлена на рис. 1:
рис.1
В настоящее время доступны 4 класса машин Exemplar, от систем начального уровня (D-Class) до наиболее мощных систем (X-Class). Основные характеристики этих 4 классов приведены в следующей таблице:
Число ЦП | Объем памяти | |
---|---|---|
D-Class | 1-2 | 32MB-1.5GB |
K-Class | 1-4 | 128MB-4GB |
S-Class | 4-16 | 256MB-16GB |
X-Class | 4-64 | 1GB-64GB |
Все системы Exemplar совместимы на
уровне двоичного кода.
За счет использования
комлектующих, характерных для
настольных систем, машины
семейства Exemplar по соотношению
цена/производительность не
уступают современным рабочим
станциям и Unix-серверам. Будущие
поколения систем Exemplar будут
включать самые последние версии
микропроцессорных архитектур HP,
включая процессор "Merced",
разрабатываемый в сотрудничестве с
Intel.
Системы S-Class и X-Class семейства Exemplar обеспечивают все преимущества высокопроизводительных масштабируемых систем, поддерживая при этом традиционную модель программирования. Эта модель позволяет разработчикам, компиляторам и приложениям рассматривать Exemplar как MIMD-систему или набор процессоров, разделяющих большую физическую память и набор высокоскоростных портов ввода/вывода (cм рис. 2).
рис.2
Такой взгляд на систему поддерживается сложным аппаратным и программным обеспечением, управляющим подсистемой Global Shared Memory (GSM).
Системы класса S предлагают
На рис. 3 показаны основные
компоненты системы класса S
рис.3
16-процессорная система класса S состоит из следующих основных компонент
Подсистема памяти основана на коммутаторе (crossbar), который обеспечивает очень высокую скорость обменов с памятью. Архитектура коммутатора позволяет осуществлять доступ из множества параллельно работающих процессоров и каналов ввода/вывода к платам памяти без блокировок. Использование коммутатора позволяет не допускать падения производительности с ростом числа процессоров, неизбежного в случае систем с общей шиной.
8 портов коммутатора обслуживают до 8 процессорных блоков (через агенты транспортировки данных) и 8 "противоположных" портов подключены к платам памяти (через контроллеры памяти).
Коммутатор работает на частоте 120MHz. Ширина пути между агентом и контроллером памяти составляет 64 бит. Таким образом, пропускная способность одного порта коммутатора по каждому направлению составляет 960 MB/sec. Коммутатор работает без блокировок, т.е. все 8 портов могут передавать и принимать информацию одновременно (если при этом два агента не обращаются к одному контроллеру памяти). Таким образом, пиковая пропускная способность всего коммутатора составляет 15.36 MB/sec.
Системы класса S могут иметь от 256 Мбайт до 16 Гбайт памяти, физически распределенной по 2-8 платам. Благодаря использованию SDRAM (Synchronous Dynamic Random Access Memory) подсистема памяти работает на более высокой тактовой частоте, чем было бы возможно с памятью типа DRAM, и имеет более высокую эффективную пропускную полосу. SDRAM все более широко применяется в системах разного уровня, включая PC: это микросхемы с лучшим показателем цена/производительность.
Чтобы объяснить преимущества SDRAM, рассмотрим вначале схематическое представление стандартной DRAM. DRAM имеет два компонента: собственно память и контакты. Адрес подается в DRAM на входных контактах, осуществляется доступ к памяти DRAM для выборки данных, которые затем выдаются на выходные контакты. Сразу после того, как доступ к данным завершен, происходит восстановление памяти, которое должно завершиться прежде, чем память может использоваться повторно. Во время восстановления DRAM не может отвечать на новые запросы, поступающие на контакты.
Модель SDRAM включает в эту схему дополнительный компонент: связь между контактами и ядром осуществляется через регистры. Теперь, когда адрес подается в SDRAM и по нему осуществляется доступ к памяти, из нее выбирается больше информации, чем подается на выходные контакты. Эти избыточные данные сохраняются на регистрах. После того, как выборка из памяти произведена, начинается ее восстановление, как и в стандартной DRAM. Однако во время восстановления сохраненные на регистрах дополнительные данные остаются доступными и могут быть выбраны. Таким образом, этот способ позволяет уменьшить потери времени при доступе в SDRAM за счет выборки дополнительных данных.
В системах Exemplar класса S память организована в единый массив - в этом отличие архитектуры Convex, например, от архитектуры S2MP SGI Origin, в которой у каждого процессора имеется собственная локальная память.
Высокая производительность подсистемы памяти обеспечивается тем, что память составляется из модулей, которые реализованы по технологии DIMM (Double In-line Memory Module). Эти модули, ориентированные на 64-разрядные процессоры, имеют большее число контактов (168) по сравнению со стандартными для ПК модулями типа SIMM, и существенно более высокую производительность. Память собирается из базовых 128-Мегабайтных модулей DIMM, которые равно распределены между контроллерами памяти. На каждой плате памяти может быть установлено до 4 модулей DIMM, и на каждый контроллер приходится 128, 256, 384 или 512 Мегабайт памяти.
Степень расслоения памяти определяется количеством плат памяти, а не числом модулей DIMM. Каждый контроллер памяти дает 4-кратное расслоение, так что в полной конфигурации с 8 контроллерами получается 32-кратное расслоение, которое не зависит от реального объема имеющейся памяти.
Система класса X состоит из нескольких SMP-модулей, называемых гиперузлами. Каждый гиперузел принципиально представляет собой систему класса S. Гипер-узлы соединяются быстродействующим сетевым оборудованием (CTI, Coherent Toroidal Interconnect), главной задачей которого является поддержание системы разделяемой памяти (GSM) и когерентности кэшей.
Система класса S может быть без потерь модернизирована до системы класса X.
Поскольку система строится из нескольких узлов, располагающих собственной памятью, в архитектуре оперативной памяти появляется второй уровень. В системах Exemplar класса X двухуровневая иерархия памяти поддерживается архитектурой СС-NUMA, в которой каждый уровень оптимизирован для параллельного доступа к разделяемым данным. Блоки памяти первого уровня соединяются между собой высокопроизводительной сетью обмена CTI. При этом, также как и в S-системах, сохраняется модель однородной разделяемой памяти и обеспечивается согласованность данных в кэшах процессоров.
Архитектура системы Exemplar теоретически масштабируется до 512 процессоров и до 512 Гбайт оперативной памяти.
Сеть обмена CTI - Coherent Toroidal Interconnect, построенная в соответствие со стандартом IEEE 1596-1992 SCI, использовалась и в предыдущих поколениях систем Convex (SPP1X00). Теперь она получила развитие и выросла во втором измерении. CTI теперь состоит из совокупности колец (см. рис. 4), плоскости которых ориентированы в двух ортогональных направлениях (X и Y). Такое наращивание сети обмена - прежде был один набор колец, расположенных параллельно, - увеличило ее пропускную способность и повысило устойчивость к сбоям.
рис 4.
Сеть обмена реализована в виде множества однонаправленных связей между гиперузлами типа точка - точка. Если рассмотреть одно кольцо, скажем в направлении X, то в нем есть выделенное направление, в котором передаются данные. Физически кольцо составлено из 8 независимых участков передачи данных, которые исходят от каждого из 8 контроллеров интерфейса в гиперузлах. Связь между некоторой парой гиперузлов полностью независима от всех остальных связей, что дает расслоение доступа вдоль кольца. Для увеличения производительности важно, что в контроллерах CTI могут храниться несколько ожидающих обработки запросов.
Следует отметить, что CTI обеспечивает реальную аппаратную поддержку доступа к общей глобальной память, в то время как системы без этой функции лишь программно эмулируют перемещение страниц из одного гиперузла в другой.
Для минимизации издержек доступа к глобальной памяти каждый гиперузел содержит кэш ссылок на страницы памяти, полученные по сети обмена от других гиперузлов. Система гарантирует идентичность кэшей в различных гиперузлах - если два или несколько гиперузлов обращаются по одному адресу памяти, они получат одинаковые данные.
PA-8000 представляет собой суперскалярный 64-битный RISC-процессор. При тактовой частоте в 180MHz процессор обеспечивает пиковую производительность в 720 MFLOPS, за счет одновременного исполнения 4 инструкций с плавающей точкой.
Процессор PA-8000 включает следующие
архитектурные особенности
На рис. 4 представлена блок-схема процессора PA-8000.
рис.
4
Процессор PA-8000 - это первая реализация архитектуры PA-RISC 2.0. Главное нововедение в PA-RISC версии 2.0 - 64-битная целочисленная арифметика и 64-битная адресация. Версия 2.0 также добавила страницы переменного размера, несколько новых операций с плавающей точкой и ряд других преимуществ по сравнению с PA-RISC 1.1. При этом процессор PA-8000 сохраняет полную двоичную совместимость с процессорами PA-7100 и PA-7200.
Как было уже отмечено, PA-8000 поддерживает плоское 64-битное адресное пространство; хотя чип экспортирует 40-битные физические адреса. Это соответствует 1 терабайту непосредственно адресуемой памяти.
Си
HP MPI - это высокопроизводительная реализация интерфейса параллельного программирования MPI для серверов и рабочих станций HP, разработанная специалистами подразделения Convex.
Основные преимущества HP MPI для пользователей (разработчиков)
Производительность MPI-приложений
определяется латентностью,
т.е. временем передачи сообщения
нулевой длины; а также пропускной
способностью, т.е. наибольшей
скоростью передачи больших
сообщений между двумя процессами
MPI-приложения.
Для приложений с тонкой
параллельной структурой (fine-grained
parallelism), какими, как правило,
являются вычислительные программы,
крайне важны малые величины
латентности; тогда как для
приложений, использующих большие
объемы пересылок (а это, как
правило, коммерческие приложения
БД), более важно максимальное
увеличение пропускной способности.
Системы Exemplar за счет высокопроизводительной SMP-архитектуры гиперузла и быстрой сети, связывающей гиперузлы между собой, обеспечивают крайне малые величины латентности. В следующей таблице приведены эти величины, заявленные HP, для обменов внутри одного гиперузла системы класса X (или внутри системы класса S), а также для сетевых обменов между разными гиперузлами 64-процессорной системы класса X.
Латентность | Пропускная способность | |
один гиперузел | 2.6 usec | 880 MB/sec |
различные гиперузлы | 8.0 usec | 168 MB/sec |
[1] Web-сервер подразделения Convex
корпорации Hewlett-Packard: http://www.convex.com
[2] "Advanced Performance Features of the 64 bit
PA-8000" Doug Hunt, HP Engineering Systems Lab
[3] "Система Exemplar SPP2000" Виктор
Коваленко, Открытые Системы, 1-1997.
[4] "Cache Coherency in Convex MPP" Greg
Astfalk, Tony Brewer, Greg Palmer; Feb '94.