Общая архитектура Enterprise 10000
Надежность, готовность и ремонтопригодность
Заключение
Литература

Cтремление сохранить естественную для программистов парадигму, в которой вся оперативная память многопроцессорной системы представляется общей для всех процессоров, привело к тому, что сегодня на рынке таких серверов имеется две архитектуры. Это - традиционные симметричные мультипроцессорные системы (SMP) и серверы с архитектурой ccNUMA. Последние появивились относительно недавно. К ним относятся, в частности, SGI Origin 2000 [1], DG AViiON 20000 [2], Sequent NUMA-Q 2000 [3] и cерверы Exemplar от НР/Convex [4]. Компания DEC также планирует выпустить системы Wildfire с этой архитектурой. Возникает вопрос, не вытесняет ли ссNUMA архитектуру SMP вообще? Cразу можно ответить, что при небольшом числе процессоров - нет: все указанные ccNUMA-системы содержат в себе "SMP-куски". Компания Sun Microsystems недавно выпустила SMP-серверы Ultra Enterprise 10000, которые могут иметь до 64 процессоров. Анализу их архитектуры и посвящена настоящая публикация.

В области обработки данных многопроцессорные Unix-серверы, все чаще используются для сложных приложений, где ранее применялись IBM мэйнфреймы. Наиболее близко к мэйнфреймам сегодня оказались SMP-серверы Sun Ultra Enterprise 10000.

Прежде чем рассмотреть особенности архитектуры серверов Enterprise 10000, необходимо привести краткий обзор архитектуры (рис.1) используемых в них микропроцессоров RISC-архитектуры - UltraSPARC-II, поскольку она оказывает существенное влияние на строение самих серверов в целом.

Picture_1

Рисунок 1.
Архитектура микропроцессора UltraSPARC.

Подобно Alpha 21164, микропроцессоры UltraSPARC [5] имеют относительно простую архитектуру - в них не применяются схемы внеочередного и спекулятивного выполнения команд, используемые в PA-8x00, R10000 или в Alpha 21264. Это облегчает процесс повышения тактовой частоты микропроцессоров. В результате по достигнутой в них на сегодня тактовой частоте, 300 МГц, они уступают только микропроцессорам Alpha. В Ultra Enterprise 10000 тактовая частота процессоров равна 250 МГц, а сами они построены по 0.35 мкм КМОП-технологии. Используется архитектура SPARC версии 9, которая двоично совместима снизу вверх с предыдущей версией.

UltraSPARC является суперскалярным микропроцессором, имеющим 4 целочисленных исполнительных функциональных устройства (ФУ), 3 с плавающей запятой и два графических ФУ. Устройство предварительной выборки и диспетчеризации команд выбирает команды еще до того, как они "понадобятся", что обеспечивает более полную занятость ФУ. UltraSPARC может выполнять до 4 команд за такт: 2 целочисленных и 2 вещественных (сложение и умножение). Задержка при выполнении команд с плавающей запятой составляет 3 такта, кроме деления (12 тактов) и извлечения квадратного корня (22 такта).

Кэш-память команд первого уровня в UltarSPARC имеет емкость 16 Кбайт и является 2-канальной частично-ассоциативной. Первичный кэш данных также имеет емкость 16 Кбайт и является прямоадресуемым.

Микропроцессоры UltraSPARC II, используемые в серверах Enterprise 10000, комплектуются внешней кэш-памятью емкостью 1 Мбайт и 4 Мбайт, что в 2-8 раз выше, чем в 167 МГц- микропроцессорах UltraSPARC в серверах Enterprise 6000. В чипах Alpha 21164, PA-8x00 и R10000 также используется внешний кэш емкостью 4 Мбайт. ФУ загрузки регистров/записи в память совместно с блоком управления памятью MMU обеспечивает преобразование 44-разрядных адресов виртуальной памяти в 42-разрядные физические адреса.

Разрaботчики UltraSPARC сразу ориентировали эти микропроцессоры на применение технологии коммутации, а не традиционной системной шины. Это архитектурное решение получило название UPA (Ultra Port Architecture). Поэтому уже в самых первых компьютерах на базе UltraSPARC I связь между микропроцессорами (ЦП), оперативной памятью (ОП), шиной SBus и графической подсистемой осуществлялась через коммутатор, который можно также назвать системной шиной UPA [6]. Он работает на тактовых частотах 83 МГц или 100 МГц и обеспечивает пиковую пропускную способность (ПС) 1.3 Гбайт/с или 1.6 Гбайт/с; поддерживаемое значение составляет 1.2 Гбайт/с (1.5 Гбайт/). Такая эффективность UPA в смысле ПС обусловлена применением высокоэффективной схемы пакетной коммутации.

Общая архитектура Enterprise 10000

Picture_2

Рисунок 2.
Общее архитектурное строение Ultra Enterprise 10000.

На рис. 2 приведена принципиальная схема строения Ultra Enterprise 10000 [7], а в Табл. 1 представлены основные архитектурные компоненты этих серверов.

Таблица 1.
Основные архитектурные компоненты Ultra Enterprise 10000.

Компонент Функция Количество (на сервер)
Управляющая плата Управляет JTAG системы, часами, вентиляторами, блоками питания; cодержит последовательный интерфейс и порт Ethernet для подсоединения SSP 2
Блок поддержки Осуществляет управление центральной платой и контроль над ее часами и схемами JTAG центральной платы 2
Центральная плата Поддерживает межсоединение (адреса, данные) для всех системных плат 1
Системная плата Содержит ЦП, ОП, платы SBus 16
Процессорный модуль Дочерние платы, содержащие микропроцессоры UltraSPARC 64
Оперативная память Модули SIMM 512
Ввод-вывод Платы SBus (cлоты) 64

В Enterprise 10000 использован конструктив, основанный на центральной плате (сenterplane) - отдаленный аналог материнской платы ПК. При построении SMP-серверов пожалуй чаще используется конструктив с задней панелью (backplane), содержащей системную шину, как, например, в серверах SGI Power Challenge [8]. Для Sun Enterprise 10000 в качестве системной шины, которая называется Gigaplane XB, используются коммутаторы, поэтому центральная плата и является их материальным воплощением. Gigaplane XB - это межсоединение, транспортная артерия, связывающая между собой системные платы, содержащие ЦП, ОП и шины ввода-вывода. Не следует путать глобальные коммутаторы Gigaplane XB с локальными коммутаторами, "имманентно" присущими самой архитектуре UPA, и расположенными на системных платах.

Приведенная на рис. 2 схема сервера больше описывает его конструктивное строение, нежели собственно "чистую" архитектуру. В конфигурацию Enterprise 10000 входят до 2 управляющих плат. Их задача заключается, в частности, в управлении вентиляторами и блоками питания всей системы. Они содержат также порты последовательного интерфейса и Ethernet, служащие для связи c cервисным процессором SSP (Service Support Processor) - компьютером, управляющим работой всей вычислительной установки.

Здесь интересно отметить, что полузаказные микросхемы (ASIC), применяемые в Ultra Enterprise 10000, имеют встроенные средства проверки работоспособности микросхем в соответствии с индустриальным стандартом JTAG. Управляющие платы контролируют также процесс проверки работы полузаказных микросхем серверов Enterprise 10000. Платы поддержки центральной платы выполняют аналогичные функции проверки для полузаказных микросхем центральной платы, а также содержат логику, обеспечивающую управление электропитанием и часами центральной платы.

Системные платы содержат компоненты, определяющие основные ресурсы процессора. Физически системная плата представляет собой сборку, включающую процессорные модули, модуль ОП и модуль ввода-вывода. На системной плате могут располагаться 0-4 дочерние платы - процессорных модуля, каждый из которых содержит собственно микропроцессор Ultra SPARC II, внешний кэш и UDB-буфер данных UltraSPARC. Детальная архитектура системной платы и ее взаимодействия с шиной Gigaplane XB представлены на рис. 3 [7], демонстрирующем двухуровневую систему маршрутизации или, точнее, коммутации данных, принятую в Enterprise 10000. Внутри системной платы запросы локальны, а для доставки данных используется стандартная архитектура UPA. Если же ЦП обращаются к ОП по адресу, который не может быть найден на данной системной плате, то включается глобальная маршрутизация с использованием Gigaplane XB.

Picture_3

Рисунок 3.
Архитектура системной платы серверов Ultra Enterprise 10000 (ИКК - интерфейсный контроллер когерентности).

На плате локальная маршрутизация соответствует сборке запросов по схеме "много в 1". Затем запросы связываются с портом, который расположен вне платы. Глобальный коммутатор (crossbar) данных cвязывает по 1 порту из каждой платы между собой, а 4 адресные шины работают по схеме "точка - точка" и обеспечивают широковещательную рассылку (broadcasting) адресов всем платам.

Локальные маршрутизаторы данных являются мультиплексорами "4 в 1" и включают 4 полузаказные мультиплексорные микросхемы. Ширина "локальной шины" данных (на плате) составляет 144 разряда (128 бит данных плюс 16 бит - для кодов ЕСС).

Глобальный маршрутизатор данных (GDR), который вместе с (глобальными) адресными шинами составляет Gigaplane XB, включает 12 полузаказных мультиплексорных микросхем. GDR связывает между собой локальные коммутаторы на системных платах и является коммутатором 16 х 16, обеспечивающим соединения "точка-точка" с 16-байтной шириной шины данных (плюс 2 байта кодов ЕСС). GDR передает 64-байтный блок данных за 4 такта шины Gigaplane XB, что эквивалентно поддерживаемой скорости передачи данных в 1.3 Гбайт/с при тактовой частоте 83.3 МГц (время такта 12 нс). Суммарная поддерживаемая ПС Gigaplane XB составляет при этом 10.4 Гбайт/с.

Соотношение тактовых частот системной шины и ЦП для UltraSPARC может быть 1:2 или 1:3. При 250 МГц тактовой частоты UltraSPARC II 83.3 МГц - это одна треть частоты ЦП. Частота шины может быть увеличена до 100 МГц. Вероятно, это ориентировано на использование новых 300-мегагерцевых микропроцессоров. При частоте 100 МГц поддерживаемая ПС cоставит 12.5 Гбайт/с.

Как уже было сказано, глобальная маршрутизация адресов в Enterprise 10000 осуществляется по 4 независимым адресным шинам - коммутаторам "точка-точка". Независимость означает, что одновременно могут передаваться 4 адреса. Адресная шина имеет разрядность 48 бит (включая биты ЕСС). Передача адреса требует двух тактов шины Gigaplane XB.

Применение сразу 4 адресных шин повышает надежность - при поломке некоторых из них Enterprise 10000 может работать с оставшимися. Использование множественных "проводов" (линий) для соединений "точка-точка", по мнению разработчиков, также имеет свои преимущества перед традиционным "чисто шинным" подходом, при котором все модули - ЦП, ОП, ввода-вывода подсоединяются к одному общему набору проводов. В рамках традиционного подхода при увеличении числа таких соединений для поддержания надежности приходится ограничивать частоту. При этом сбой любого компонента шины означает крах всей шины целиком.

Сегодня можно говорить уже о двух поколениях высокопроизводительных системных шин SMP-серверов, использующих современные микропроцессоры RISC-архитектуры. Это подтвержается и данными Табл.2. Шины первого поколения имели ПС свыше 1 Гбайт/с: Power Channel 2 в SGI Power Challenge [8]; TurboLaser в DEC AlphaServer 8200/8400 [9]; Gigaplane в Sun Ultra Enterprise 6000 [10]. В новом поколении шин ПС возросла на порядок, и превысила 10 Гбайт/с. Все такие шины основаны на коммутаторах. Сюда можно отнести Gigaplane XB и коммутатор SMP-систем HP V2200. Появившийся недавно коммутатор гиперузла - серверов HP S-класса - хотя и не превысил уровень 10 Гбайт/с, но тоже относится скорее ко второму поколению.

Таблица 2.
Сравнительные характеристики некоторых SMP-серверов.

Sun Ultra Enterprise DEC AlphaServer HP server S-class HP V2200
6000 10000 8400 5/440
Число ЦП 1-30 16-64 1-12 1-16 1-32
Пиковая произв., GFLOPS 10 32 10.5 11.5 25.6
Тактовая частота, МГц 167(*) 250 437 180 200
Внешний кэш, Мбайт 0.5 1 4 2(1+1) 4(2+2)
Макс. емкость ОП, Гбайт 30 64 14 16 32
Пиковая ПС шины, Гбайт/с 2.6 12.5 2.1 7.7 15.3
Макс. ПС I/O, Гбайт/с 2 6.4 1.2 1.9 1.9
Макс. число слотов шин ввода-вывода SBus, 45 SBus, 64 PCI, 144 PCI, 24 PCI, 24
(*) Возможно использование микропроцессоров с тактовой частотой 250 МГц

Вернемся теперь к рассмотрению других компонентов системных плат Enterprise 10000. В модулях памяти (платах ОП) применяется SIMM-модули в стандарте JEDEC, содержащие по 18 микросхем 60 нс. Поддерживаются также SIMM, использующие 16 Мбит технологии, и основанные на 64 Мбит DRAM-технологии. В результате максимальная емкость ОП сервера может составлять 64 Гбайт.

На плате ОП имеется 4 банка ОП, каждый содержит 8 модулей SIMM. Один 16-мегабайтный модуль SIMM имеет емкость 32 Мбайт, что дает максимальную емкость ОП на плате, равную 1 Гбайт. Можно заметить, что в системах SGI Origin 2000, HP S-класс и V2200 разработчики перешли к более современной и более дорогой технологии SDRAM. Компания Sun в системе Enterprise 10000, наоборот, предпочла выжать все возможное и из архитектуры SMP, и из традиционной DRAM технологии.

Каждый банк памяти за один доступ осуществляет передачу строки кэша емкостью 72 байт (64 байт данных плюс 8 байт ECC). Максимальная степень расслоения ОП в Enterprise 10000 равна 16. Для того, чтобы обмениваться информацией с локальным маршрутизатором данных, в модуле ОП осуществляется упаковка/распаковка данных с целью перехода от ширины шины ОП в 72 байта к ширине "шины" маршрутизатора данных - 18 байт.

Модули ввода-вывода - это дочерние платы, помещаемые на системную плату. Задача модуля ввода-вывода - обеспечение обмена данными между UPA и двумя шинами ввода-вывода SBus. Сразу следует сказать, что и здесь Sun придерживается традиционных технологий: шины SBus (cтандарт IEEE 1496-1993) используются компанией уже много лет. В большинстве других многопроцессорных систем этого класса (SGI Origin 2000, DEC AlphaServer 8200/8400 и т.п.) используются шины PCI. Sun также планирует перейти с SBus на шины PCI (33 МГц/32 бит и 66 МГц/64 бит), при этом будут внесены изменения и в дочернюю плату ввода/вывода Еnterprise 10000.

Шины SBus были разработаны специалистами Sun Microsystems и используют 32- разрядные двунаправленные линии данных, 28-разрядные адресные линии плюс линии управления и линии четности. Шины SBus работают на частоте 25 МГц и могут производить как 32-разрядную передачу данных с пиковой ПС 100 Мбайт/с, так и 64-разрядную передачу данных с пиковой ПС 200 Мбайт/с. В последнем случае для передачи данных применяются адресные линии и линии управления. В этом случае используется режим разделения времени. Поддерживаемая пропускная способность в 2 раза ниже пикового значения.

Протокол шин SBus обеспечивается полузаказными микропроцессорами SYSIO. На системной плате может быть только одна дочерняя плата ввода-вывода с двумя такими микросхемами (двумя шинами SBus). К каждой шине SBus можно подключить до 2 контроллеров SBus стандартной ширины, или один контроллер удвоенного размера. Имеются различные контроллеры, предлагаемые Sun для F&W SCSI-каналов в дифференциальном и однопроводном исполнениях, UltraSCSI, Fibre Channel - со скоростью передачи данных 25 Мбайт/с в обоих направлениях для подсоединения SPARCstorage Array, Ethernet 10/100 Мбит/с, FDDI, ISDN, ATM, Token Ring и для высокоскоростных последовательных интерфейсов (вплоть до T1/E1).

Надежность, готовность и ремонтопригодность

О поддержке этой триады (Reliability, Availability, Serviceability,- сокращенно RAS) заявляют обычно все производители больших многопроцессорных серверов, ориентированных на бизнес-приложения. Есть все основания для того, чтобы о системе Enterprise 10000 можно было говорить в смысле RAS. В Таблице 3 [7] приведены некоторые ключевые особенности Enterprise 10000, обеспечивающие RAS. Наиболее яркой особенностью Enterprise 10000, отличающей их от других SMP-серверов в смысле RAS, является возможность организации доменов. Это архитектурное понятие пришло из мира мэйнфреймов компаний IBM и UNISYS [11].

Таблица 3.
Некоторые особенности Ultra Enterprise 10000, обеспечивающие свойства RAS.

Особенности, повышающие надежность
  • Защита данных кодами ЕСС
  • Контроль по четности
  • Избыточные платы ЦП/ОП
  • Мониторинг и управление окружением (температура, электропитание)
  • Специальные надежные конструкции коннекторов, кабелей и т. д.
  • Применение маршрутизаторов "точка-точка", более надежных, чем традиционные системные шины
  • Особенности, повышающие готовность

  • Избыточные модули UltraSPARC
  • Горячая замена плат сигналов ЦП/ОП
  • Избыточные источники питания
  • Усовершенствованная система автоматического восстановления (ASR)
  • Наличие пар вентиляторов с переменной скоростью вращения в каждом модуле охлаждения
  • Поддержка 2 интерфейсов от хоста к каждому дисковому массиву
  • Автоматическая перезагрузка при сбоях
  • Поддержка нескольких ОС в разных доменах
  • Использование 4 независимых адресных шин
  • 16х16-межсоединение данных с двумя независимыми маршрутизаторами
  • Особенности, повышающие обслуживаемость

  • Модульное строение системы адресов и управляющих
  • Горячая замена плат ввода-вывода
  • Удаленная загрузка
  • Горячая замена дисковых накопителей
  • Горячая замена модулей охлаждения/ электропитания
  • Система тестов SunVTS, которые выполняются при работе ОС Solaris
  • Наличие внутренних (встроенных) аппаратных тестов, например, при включении электропитания
  • Динамическая реконфигурация для изоляции проблемы с последующим ремонтом в режиме on-line
  • Динамическая система доменов Ultra Enterprise 10000 [7] позволяет разбить весь компьютер на несколько "подкомпьютеров", каждый из которых может включать как минимум одну системную плату. Такие домены в терминологии IBM называются логическими разделами (LPAR). Можно сказать, что домен - это SMP-"подсистема". Каждый домен имеет собственные внешние устройства: магнитные диски, собственные сетевые адаптеры и т.д.

    Любой домен в Enterprise 10000 разделяет общую шину Gigaplane XB, и поэтому полной изоляции доменов, как это бывает в LPAR, не происходит. Однако один домен отделен от других логически. Поэтому ошибки в ОС и аппаратуре (процессоры, память, ввод/вывод) одного домена не влияют на другие. Это позволяет использовать домен для безопасного (для остальной части системы) тестирования программного обеспечения: новых версий ОС Solaris и ее модификаций, новых драйверов и т.д., не прерывая "промышленной эксплуатации" Enterprise 10000. Управление всеми доменами осуществляется с единого SSP, а системный администратор может динамически создавать домены, не прерывая работы сервера. Благодаря доменной организации Enterprise 10000 может заменить ряд небольших SMP-серверов, использовать один из доменов как брандмауэр, связанный с другими серверами сверхбыстрой магистралью - Gigaplane XB.

    Для построения систем, устойчивых к сбоям, могут применяться специальным образом сконфигурированные серверы Enterprise 10000. Так, можно использовать зеркалированные пары дисковых массивов SPARCstorage Array. Кроме того, поставляются кластерные конфигурации HPC Ultra Enterprise 10000, в узлах которых располагаются SMP-серверы Enterprise 10000, а для соединения узлов применена известная шина SCI c высокой ПС [12]. Однако в отличие от обычного режима работы SCI в кластерах HPC не поддерживает когерентности кэша. Как известно, кластерные конфигурации позволяют строить системы с более высоким уровнем готовности - разработчики Sun Microsystems объявили о достижении уровня готовности в 99.95%.

    Заключение

    Cервер Sun Ultra Enterprise 10000 на сегодня является самым большим среди всех SMP-систем, что, собственно, видно из Табл.2.

    На 64-процессорном сервере Enterprise 10000 была достигнута исключительно высокая производительность на тестах TPC-D для базы данных 300 Гбайт: 2009 QppD при ПС 1242 QthD. Это показывает, что данную аппаратно-программную платформу хорошо применять, в частности, для решения задач поддержки принятия решений. Такие серверы имеют высокую производительность и на тестах ПС ОП Streams, и на тестах Linpack. Поэтому не удивительно, что эти системы оказались широко представлены и в списке TOP500 крупнейших в мире инсталляций суперкомпьютеров.

    По сравнению с компьютерами, имеющими архитектуру ccNUMA, возможности масштабирования аппаратных средств в пределах архитектуры SMP, конечно, ниже. Этот недостаток частично устраняется при построении кластерных систем. Однако и преимущества SMP еще никто не отменял. Использование ccNUMA приводит к увеличению задержек при обращении к удаленной памяти, расположенной не в данном узле. Задержки при обращении к ОП в Enterprise 6000 составляют порядка 300 нс, в Enterprise 10000 - порядка 500 нс. В то же время аналогичные задержки при обращении к удаленной ОП, например, в SGI Origin2000, оказываются выше уже при среднем числе процессоров 8-16.

    Анализ архитектуры Sun Enterprise 10000 показывает, что сегодня парадигма SMP продолжает удерживаться на лидирующих позициях.


    Литература

    [1] М.Кузьминский, "Архитектура S2MP-свежий взгляд на ccNUMA", Открытые системы, #2, 1997, c.14

    [2] М.Кузьминский, СomputerWorld/Россия, #26, 1997

    [3] Е.Коваленко, "Система Sequent Extreme NUMA-Q", Открытые системы, #2, 1997, c.6

    [4] В.Коваленко, Система Exemplar SPP2000, Открытые системы, #1, 1997, c. 5

    [5] В.Шнитман, Архитектура процессоров UltraSPARC, Открытые системы, #2, 1996, c. 5

    [6] М.Кузьминский, ComputerWorld/Россия, #16, 1995

    [7] "Starfire. Just the facts", Sun Microsystems, 1996

    [8] М.Кузьминский, ComputerWorld/Россия, #12, 1995

    [9] М.Кузьминский, ComputerWorld/Россия, #2, 1995

    [10] М.Кузьминский, СomputerWorld/Россия, #28, 1996

    [11] М.Кузьминский, "Мэйнфреймы от UNISYS", Открытые системы, #5, 1996, c. 5

    [12] М.Кузьминский, СomputerWorld/Россия, #14, 1997