SMP-серверы классов S и X компании Hewlett-Packard
В последние несколько месяцев архитектура ccNUMA (Cache-Coherent Non-Uniform Memory Access) у всех на устах: она становится чуть ли не индустриальным стандартом для самых мощных SMP-серверов, использующих микропроцессоры Intel Pentium Pro. А между тем честь удачливого первопроходца, внедрившего ccNUMA в архитектуру SMP-серверов, должна принадлежать компании Convex Computer (ныне - часть Hewlett-Packard), которая уже в марте 1994 года начала поставки систем Exemplar SPP1000. Они стали первой успешной "массовой" реализацией этого интересного подхода к построению компьютеров SMP-архитектуры.
За прошедшие два с лишним года вместе с развитием микропроцессоров HP PA-RISC, используемых в Exemplar SPP, сменилось и несколько модификаций этих компьютеров. На смену SPP1000 на базе PA-RISC 7100 пришли SPP1200 c микропроцессорами PA-RISC 7200 c кэшем первого уровня емкостью 512 Кбайт (март 1995 г.), а затем SPP1600 с теми же микропроцессорами, но с увеличенной до 2 Мбайт емкостью кэша (июнь 1996 г.). Качественный скачок, произошедший благодаря выпуску процессоров PA-8000, отразился в переходе ко второму поколению систем Exemplar. Все это было решено заранее: планировалось создание SPP2000 на базе PA-8000, затем "отслеживание" в рамках SPP2000 новых модификаций PA-8000, а затем вновь - качественный скачок к SPP3000 на базе совместного с Intel микропроцессора PA-9000, ныне имеющего кодовое название "Merced".
Однако эта продукция, которая разрабатывалась ранее Convex, очень удачно вписалась в линию серверов компании HP, и в октябре 1996 г. она объявила о выпуске серверов классов S и X - их рабочим названием было, очевидно, SPP2000/CD (Compact Design) и SPP2000/XA (eXtended Architecture), соответственно. Конкурентами серверов класса S на рынке, с точки зрения архитектуры, являются Digital AlphaServer 8x00, SGI Power Challenge и Sun Ultra EnterpriseServer 6000. Расширение серверов класса S приводит к серверам класса X, имеющим архитектуру ccNUMA. Это самые мощные компьютеры HP, относящиеся к суперкомпьютерным системам класса MPP. Наиболее "естественным" их конкурентом, с точки зрения архитектуры, оказываются ccNUMA-системы Origin 2000 от SGI.
Архитектура серверов класса S
Серверы класса S - это SMP-компьютеры "в чистом виде". Но вместо более распространенной общей шины основные компоненты этих серверов - процессорные элементы (ПЭ) и модули памяти - связаны посредством неблокирующегося коммутатора. Этот подход представляется в настоящее время более перспективным. Так, SGI в своих новых компьютерах семейства Origin 2000 отказалась (в пользу коммутатора!) от идеологии системной шины, применявшейся ею в известных серверах Challenge/Power Challenge. А ведь соответствующая шина, PowerPath 2, еще недавно была самой мощной среди системных шин SMP-серверов. Чем же так привлекает коммутатор конструкторов современных компьютерных систем?
В первую очередь - отличными качествами масштабирования, недоступными для серверов шинной архитектуры. ПЭ и подсистема ввода-вывода при использовании таких коммутаторов имеют возможность одновременного, не блокирующегося доступа к подсистеме оперативной памяти (ОП). А если применяется системная шина, могут возникнуть ситуации ее перегрузки. Поэтому можно поздравить сотрудников Convex, которые уже несколько лет назад предугадали перспективность коммутаторного подхода.
Сервер класса S имеет 1 гиперузел, архитектура которого близка к использовавшейся в SPP1000/CD. Однако в новом поколении серверов сам коммутатор тоже новый: это - неблокирующийся коммутатор 8 х 8 c пропускной способностью, прямо пропорциональной числу ПЭ. Каждая плата ПЭ, содержащая по два микропроцессора PA-8000, имеет 64-разрядный интерфейс к коммутатору (custom agent, CA), с производительностью 960 Мбайт/с в одном направлении. В гиперузел можно поместить 8 ПЭ, поэтому пропускная способность масштабируется до 15 Гбайт/с. В SPP1x00 (x=0,2) использовался коммутатор 5 х 5 с пропускной способностью соединений точка-точка, равной 250 Мбайт/с, т.е. 1,25 Гбайт/с на гиперузел, а в SPP1600 пропускная способность была увеличена вдвое. Для сравнения: системная шина PowerPath 2 в SGI PowerChallenge имеет поддерживаемую пропускную способность 1,2 Гбайт/с; шина TurboLaser в DEC AlphaServer 8x00 - 1,6 Гбайт/с (для 300-мегагерцевых процессоров), шина Gigaplane в SUN Ultra Enterprise 6000 - 2,5 Гбайт/с.
Достигнутое в серверах класса S повышение производительности коммутатора позволяет не только работать с новыми микропроцессорами PA-8000, но и обеспечить большую масштабируемость по их числу - до 16 против 8 в SPP1x00.
Подсистема ОП. Собственно, цель коммутатора гиперузла - обеспечить высокопроизводительный доступ к ОП со стороны процессоров и подсистемы ввода-вывода при низких величинах задержек. Сама идея применения коммутатора для доступа в ОП - вещь, известная в мире суперкомпьютеров. При построении ОП в больших векторных суперкомпьютерах обычно используется высокопроизводительная, но дорогая технология SRAM. В суперкомпьютерных SMP-серверах обычно применяли дешевую и гораздо более медленную DRAM-память. Максимальную, при все еще умеренных ценах, производительность даст технология SDRAM (Synchronous DRAM). Она и применяется в серверах класса S. Сейчас используются модули SDRAM емкостью 4 и 16 Мбит, но в следующем году, как предполагается, станет вполне оправданной в ценовом отношении использование 64-мегабитных модулей. Поэтому если сейчас серверы класса S имеют ОП емкостью от 256 Мбайт до 4 Гбайт, то затем максимальная емкость ОП гиперузла будет увеличена до 16 Гбайт.
Вместо традиционных для технологии DRAM модулей SIMM при применении SDRAM используются модули DIMM (Double In-Line Memory Module). Преимущество SDRAM-модулей DIMM в том, что уровень расслоения ОП определяется не тем, сколько их установлено и куда, как в случае с SIMM, а исключительно числом использованных плат ОП. При расширении ОП, использующей SIMM-модули, приходится заботиться не только о достижении нужной емкости ОП, как таковой, но и о сохранении достигнутого уровня расслоения, что может вызвать необходимость приобретения дополнительной памяти. Если же ОП базируется на SDRAM-модулях DIMM, этой проблемы нет.
При применении 16-мегабитной технологии модуль DIMM имеет емкость 128 Мбайт. Каждая плата ОП может содержать до 4 модулей DIMM. Любая плата ОП содержит контроллер, который обеспечивает 4-кратное расслоение. Итого, при 8 платах ОП в гиперузле уровень расслоения равен 32. Отметим, что вся ОП защищена от ошибок кодами ECC.
Подсистема ввода-вывода. Как мы уже говорили, каждая пара процессоров, расположенных на плате ПЭ, общается с коммутатором через CA. Этот же CA обеспечивает интерфейс ОП с PCI-подсистемой ввода-вывода. Он имеет пропускную способность 240 Мбайт/с, в то время как 32-разрядный PCI обеспечивает 120 Мбайт/с. Производительность интерфейса CA-PCI повышена для поддержания возможности работы с 64-разрядной версией PCI. Каждая PCI-шина имеет по 3 слота для контроллеров ввода-вывода. Итого, при 8 ПЭ в гиперузле поддерживается 8 каналов PCI и до 24 контроллеров. Все это мощное оборудование ориентировано на высокоскоростную передачу данных в режиме DMA без вмешательства процессоров.
Процессорная подсистема. Серверы класса S конструировались в расчете на применение 64-разрядных микропроцессоров РА-8000. В настоящее время поставляются их версии с тактовой частотой 180 МГц и пиковой производительностью 720 MFLOPS. Мы подробно знакомили наших читателей с архитектурой РА-8000, поэтому здесь перечислим только некоторые ее особенности: большой первичный кэш (1 Мбайт для данных плюс 1 Мбайт для команд); наличие сразу двух устройств загрузки/записи в память; статическое и динамическое предсказание переходов; спекулятивное выполнение команд; поддержка расщепленных транзакций при обращении к ОП; наличие большого числа параллельно работающих функциональных исполнительных устройств, в том числе двух устройств для умножения и сложения чисел с плавающей запятой. Реализация в РА-8000 команд типа "умножить и сложить", выполняемых в этих конвейерных функциональных устройствах, дает возможность получать 4 результата с плавающей запятой за такт. Такой же высокий уровень суперскалярности имеет, например, микропроцессор SGI/MIPS R10000, но R10000 и DEC Alpha 21164 выдают за такт только 2 результата с плавающей запятой.
Полностью укомплектованный гиперузел содержит 8 ПЭ (16 процессоров) и имеет пиковую производительность 11,5 GFLOPS. Из гистограммы видно, как возросла производительность Exemplar SPP, а в таблице 1 приведено сравнение производительности серверов класса S, SGI Origin 2000 и DEC AlphaServer 8400 5/350. Все эти оценки базируются на тестах Linpack при N (размерности системы линейных уравнений), равном 1000.
Таблица 1. Сравнительная производительность (MFLOPS) на тестах Linpack (N=1000).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Архитектура серверов класса X
Серверы класса Х представляют собой набор гиперузлов (в прайс-листе - до 4, но возможно увеличение до 32 гиперузлов), соединенных между собой магистралями CTI (Coherent Toroidal Interconnect). CTI основан на SCI - известном стандарте IEEE - и обеспечивает общее поле разделяемой ОП и когерентность кэш-памяти для всех микропроцессоров внутри сервера класса X. Таким образом, ОП формирует двухуровневую архитектуру NUMA: на первом уровне - ОП внутри гиперузла, на втором - ОП других гиперузлов.
По сравнению с системами SPP1x00, в серверах класса X CTI имеет не одно, а два тороидальных кольца: одно, условно говоря, в х-направлении, а другое - в ортогональном y-направлении. На самом деле каждое кольцо состоит из 8 независимых магистралей, проходящих через 8 контроллеров интерфейса CTI в каждом гиперузле. Эти 32-разрядные магистрали имеют пропускную способность по 480 Мбайт/с каждая, или 3,8 Гбайт/с на гиперузел в х- и у- направлениях. CTI обеспечивает однонаправленное соединение точка-точка. Другим важным усовершенствованием CTI стала возможность обработки одновременно до 32 запросов каждым контроллером CTI (т.е. до 256 запросов на гиперузел) - против 1 запроса на контроллер в SPP1x00. Это обеспечивает расщепленную обработку транзакций при обращениях PA-8000 к ОП.
Наконец, каждый гиперузел сервера класса Х имеет так называемый CTI-кэш. В памяти этого типа сохраняются все данные, пересылаемые из других гиперузлов в кэш процессоров данного гиперузла. CTI-кэш также используется для поддержания когерентности кэша. Минусом такой архитектуры CTI является невозможность наращивания числа гиперузлов до масштабов тысяч процессоров, что необходимо для построения суперкомпьютеров рекордной на сегодня производительности. Пиковая производительность наиболее полной, представленной на сегодня 512-процессорной конфигурации сервера класса Х составляет 370 GFLOPS при размере ОП до 512 Гбайт.
Реальное "железо"
До сих пор мы говорили об архитектурных особенностях. Реальное воплощение "в железе" представляет собой шкаф с габаритами 99 х 80 х 94 см - для серверов класса S или "двухэтажный шкаф" с габаритами 99 х 80 х 188 см - для серверов класса X. Серверы S- и X- классов работают в температурном интервале от 15 до 30 градусов Цельсия. Если учесть, что сервер класса S выделяет тепло до 7 кВт, становится ясно, что придется позаботиться о кондиционировании помещения.
Применение стандарта PCI в подсистеме ввода-вывода позволяет поддерживать широкий спектр внешних устройств и сетевых соединений (ATM 155 Мбит/с, FDDI, HiPPI, Ethernet). Серверы комплектуются жесткими дисками емкостью 9 Гбайт стандарта Ultra SCSI (40 Мбайт/с). Гиперузел может содержать 8 PCI-шин и 24 канала Ultra SCSI, а сервер X-класса, имеющий до 4 гиперузлов, - соответственно до 96 каналов SCSI. В корпусе сервера S-класса можно разместить до 153 Гбайт дискового пространства, а всего - до 3 Тбайт; в серверах X-класса - до 576 Гбайт и 13 Тбайт, соответственно.
Про ленточные устройства и автоматические библиотеки магнитных лент следует написать отдельную статью. Разнообразные роботизированные комплексы, работающие с картриджами емкостью до 50 Гбайт и выше и библиотеками емкостью до 300 Тбайт и выше, которые применяются, в частности, с хранилищами данных, несомненно, привлекут внимание пользователей.
Кроме традиционных научных областей применения, на которые в большей степени ориентированы рассматриваемые серверы, следует в первую очередь отметить нефтегазовую отрасль и механическое конструирование. В нашей стране установлен компьютер SPP1000 (в ИПМ РАН), и, вероятно, скоро будет установлен SPP1600 (в ИВВиБД, С.-Петербург). Известно и о намерениях приобрести серверы класса S. Интересно, кто будет первым?
Михаил Кузьминский - зав. отделом Института органической химии РАН. С ним можно связаться по телефону (095) 135-6388.