Андрей Борзенко

Серверы - далеко не единственная составляющая производственной программы Fujitsu Siemens Computers (http://www.fujitsu-siemens.com), но по мере развития Интернета именно UNIX-серверы все чаще оказываются в центре внимания этой корпорации. В конце 2000 г. Fujitsu Siemens выделила в качестве приоритетных направлений своей деятельности поддержку критически важных бизнес-приложений и мобильных решений. Именно на эти сферы ориентированы компьютеры PrimePower - семейство UNIX-серверов, совместимых с системами SPARC/Solaris. Fujitsu Siemens - одна из немногих компаний, предлагающих помимо оригинальной системной архитектуры серверов еще и собственный RISC-процессор.

Основу RISC-систем корпорации составляют 64-разрядный процессор SPARC64-GP и ОС Solaris, дополненная технологиями построения систем высокой готовности и высокопроизводительных кластеров.

Особенности SPARC64-GP

Выбор архитектуры SPARC (Scalable Processor ARChitecture) для Fujitsu Siemens вовсе не случаен. Напомним, что именно эта корпорация изготовила первый процессор SPARC на базе вентильной матрицы, работающей на частоте 16,67 МГц. В 1995-96 гг. компания HAL Computers (http://www.hal.com), входящая в группу компаний Fujitsu, разработала многокристальные процессоры SPARC64 I и SPARC64 II, в которых была использована 64-разрядная архитектура SPARC64 V9. В 1998 г. HAL выпустила новый высокопроизводительный суперскалярный процессор SPARC64-GP (Grand Power), воплощавший 64-разрядную архитектуру по спецификациям SPARC V9 и соответствовавший спецификации SPARC64. Этот процессор взаимодействует с шиной UPA (UltraSPARC Port Architecture) и оснащается микросхемами SRAM кэш-памяти второго уровня.

Микропроцессор SPARC64-GP обеспечивает полную совместимость с аппаратурой и ПО компании Sun Microsystems (http://www.sun.com), однако было бы некорректно утверждать, что новый микропроцессор представляет собой, грубо говоря, модернизированный вариант UltraSPARC II. Усовершенствования, внесенные инженерами HAL, коснулись большинства основных блоков кристалла. Ключевыми особенностями SPARC64-GP стали новые архитектурные решения, эффективная реализация команд и больший объем кэш-памяти. По мнению многих экспертов, самое яркое отличие SPARC64-GP заключается в возможности внеочередного выполнения команд (устройство внеочередного исполнения команд способно одновременно обрабатывать 63 инструкций), в то время как UltraSPARC II выполняет команды последовательно в соответствии с их расположением в тексте программы. Процессор HAL поддерживает 64-разрядное виртуальное адресное пространство и 41-разрядное физическое адресное пространство.

Кэш-память нулевого уровня, использующая механизм прямого отображения, имеет емкость 16 Кбайт и обеспечивает выдачу до четырех команд за такт. Четырехканальные множественно-ассоциативные кэш-модули первого уровня для команд и для данных имеют емкость по 128 Кбайт каждый. Кэш-память второго уровня может иметь емкость до 8 Мбайт, в ней применен механизм прямого отображения. Поддержка технологии коррекции ошибок ECC - для кэш-памяти как первого, так и второго уровней - гарантирует значительно более высокий уровень надежности, чем у систем с контролем четности.

Благодаря увеличению размера таблицы истории переходов и двухуровневой схеме предсказания с хешированием адресов перехода предсказание переходов в SPARC64-GP существенно улучшено по сравнению с процессором UltraSPARC II. Текущая реализация SPARC64-GP поддерживает независимые таблицы истории переходов.

Как отмечают эксперты, при сравнимых частотах синхронизации процессор SPARC64-GP обеспечивает более высокую общую производительность, чем UltraSPARC II. В частности, наличие двух устройств обработки вещественных чисел и двух устройств чтения/записи позволяет получать в SPARC64-GP за каждый такт в 1,5 раза больше результатов операций с плавающей точкой, чем в UltraSPARC II. Кроме того, благодаря четырехканальной множественно-ассоциативной организации кэш-памяти команд и данных SPARC64-GP характеризуется меньшими коэффициентами промахов, чем процессор Sun. Более того, SPARC64-GP использует для интерфейса с кэш-памятью второго уровня шину, отдельную от системной шины, обеспечивая более высокую общую пропускную способность при сопоставимой частоте синхронизации.

Первые кристаллы SPARC64-GP были изготовлены с использованием 0,24-мкм технологического процесса CS-70 с пятью слоями металлизации и содержали 17,6 млн транзисторов. В настоящее время проектные нормы производства кристаллов ужесточены до 0,18 мкм.

Линейки компьютеров

Серверы рассматриваемого семейства под маркой GP 7000 стали выпускаться еще с 1998 г. В 2000 г. модельный ряд был модернизирован и семейство получило новое название - PrimePower (рис. 1). Компьютеры, которые в него входят, могут использоваться как серверы начального уровня, уровня подразделения и уровня предприятия. Обычно семейство PrimePower делят на две группы. Первую группу образуют автономные и устанавливаемые в стойки серверы PrimePower 100, 200, 400, 600, 650 и 850. Во вторую группу входят PrimePower 800, 1000 и 2000; на базе этих систем, содержащих от 4 до 128 процессоров, можно строить гибкие распределенные и внутренние кластерные решения для одного или нескольких офисов, а также для центров обработки данных.

Fig.1
Рис. 1. Семейство серверов PrimePower.

В конце 2001 г. разработчики решили оснащать модели PrimePower 650, 800, 850, 1000 и 2000 новейшими процессорами SPARC64-GP с тактовой частотой 675 MГц. У моделей 200, 400 и 600 тактовая частота процессоров возросла с 500 MГц до 600 MГц. Наряду с увеличением производительности процессоров в серверах были увеличены объемы оперативной памяти. На корпоративных моделях PrimePower начали устанавливать модули емкостью 2 Гбайт, что позволило удвоить максимальный размер адресуемой памяти, доведя его в наиболее мощных моделях до 512 Гбайт.

Ультратонкий однопроцессорный сервер начального уровня PrimePower 100N оптимизирован для установки в стойку PrimeCenter. Кластеры, объединяющие до 50 таких серверов, представляют собой мощную, но компактную вычислительную систему с хорошим соотношением цена/производительность. Сервер содержит до двух дисков с возможностью горячей замены и до 2 Гбайт оперативной памяти. Наряду с двумя встроенными портами Ethernet он имеет свободный PCI-разъем для подключения внешних подсистем. PrimePower 100 может использоваться как сервер для небольшой рабочей группы или в качестве системной консоли мощного комплекса.

Двухпроцессорные модели PrimePower 200 и 200F - тоже серверы начального уровня. PrimePower 200F поставляется в виде компактной напольной модели в однопроцессорной и двухпроцессорной конфигурациях. Он содержит до 8 дисков с возможностью горячей замены. PrimePower 200, в свою очередь, предназначен для установки в стойку и может включать не более 2 дисков, предусматривающих горячую замену. Оперативная память этого компьютера расширяется до 8 Гбайт.

PrimePower 400 - сервер уровня подразделения, выполнен в конструктиве 10U. Базисный вариант для этой модели - конфигурация для размещения в стойку; с добавлением внешнего корпуса сервер преобразуется в офисный вариант. PrimePower 400 масштабируются до 4 процессоров и 8 Гбайт оперативной памяти. Используемая в этих серверах технология перекрестных переключателей UPA призвана обеспечить оптимальную производительность. Каждый из процессоров может использовать свои собственные UPA, оперативную память и шину ввода-вывода. По сравнению с традиционной архитектурой это обеспечивает линейный рост производительности при добавлении очередного процессора. Сервер PrimePower 400 может включать до шести внутренних дисков и дополнительно накопитель на магнитной ленте. Дисковые подсистемы большого объема подключаются как внешние. Для обеспечения высокой готовности в модели PrimePower 400 служат такие функции, как мониторинг системы и горячая замена зеркалируемых жестких дисков, дублированных блоков питания и вентиляторов.

PrimePower 400N - сервер уровня подразделения, обладающий хорошими соотношениями цена/производительность, а также размер/производительность. При использовании четырех процессоров его корпус занимает в стойке только 4 единицы высоты (4U). Максимальный объем оперативной памяти составляет 8 Гбайт. Вычислительный узел PrimePower 400N может включать до двух внутренних дисков и дополнительно накопитель на магнитной ленте. Дисковые подсистемы большого объема подключаются снаружи. Высокая готовность обеспечивается теми средствами, что и в модели 400.

PrimePower 600 занимает в стойке 10 единиц высоты (10U). Базисное исполнение сервера - для размещения в стойку. Машина масштабируется до восьми процессоров и 16 Гбайт оперативной памяти. Функции высокой готовности, как и в модели 400, включают мониторинг системы, горячую замену зеркалируемых жестких дисков, дублированных блоков питания и вентиляторов.

Серверы PrimePower 650 (высота 8U) и 850 (17U) масштабируются до 8 и 16 процессоров соответственно, а емкость оперативной памяти достигает 32 и 64 Гбайт. Эти компьютеры имеют наилучшие характеристики среди всех систем, содержащих до 16 процессоров. Оба сервера оптимизированы для установки в стойку и представляют собой мощные вычислительные узлы. В сочетании с новым внешним блоком, предназначенным для подключения до 12 плат PCI, и с устанавливаемой в стойку подсистемой памяти вычислительные узлы PrimePower 650 и 850 могут стать основой для создания гибких конфигураций. Например, на базе двух идентичных автономных серверов PrimePower 850, работающих под управлением Solaris 8, можно создать 16-процессорный кластер, обладающий высокой готовностью. Для управления такой системой предусмотрено ПО PrimeCluster.

Компания Fujitsu Siemens Computers и независимые поставщики программных продуктов разрабатывают для серверов PrimePower ПО, совместимое с Solaris, - средства разработки приложений, компиляторы, библиотеки и управляющие программы. Совместимость с технологиями SPARC и Solaris дает возможность использовать более 12 тыс. апробированных приложений, предназначенных для широкого спектра областей.

Сочетание надежности, готовности и удобства обслуживания (RAS - Reliability, Availability, Serviceability) делает серверы PrimePower подходящим инструментом для решения критически важных для бизнеса задач. Кроме того, серверы PrimePower используют специальную технологию коммутации, позволяющую достичь хорошей расширяемости и полностью задействовать системные ресурсы. Высокая производительность систем PrimePower особенно полезна для приложений баз данных, интенсивно использующих память. В качестве примеров такого рода приложений можно назвать системы управления ресурсами предприятия (SAP R/3, Baan) и хранилища данных. Кроме того, PrimePower могут эффективно применяться в таких областях, как электронная коммерция, Интернет и телекоммуникации. Так, летом 2001 г. корпорация Oracle объявила о том, что при выполнении стандартного теста SAP ATO (Assemble to Order) на платформе PrimePower 2000 за один час было обработано 34 260 заказов. Результат был достигнут в конфигурации со 128 процессорами SPARC64 560 МГц (8 Мбайт кэш-памяти второго уровня), 128 Гбайт оперативной памяти и 2548 Гбайт дисковой памяти под управлением ОС Solaris 8 и СУБД Oracle 8.1.7.

Архитектура PrimePower 2000

Самая высокопроизводительная система данной серии, PrimePower 2000, относится к серверам корпоративного класса, способным удовлетворить самые жесткие требования, предъявляемые бизнесом к вычислительным системам. Возможности для расширения системы очень велики: в ней предусмотрено объединение до 128 процессоров, до 512 Гбайт оперативной памяти и до 192 PCI-контроллеров.

Модели 800 и 1000 - промежуточные по расширяемости и производительности в семействе PrimePower; по архитектуре они аналогичны PrimePower 2000. В модели 800 предусмотрена установка до 16 процессоров, до 32 Гбайт оперативной памяти и до 24 PCI-слотов; в модели 1000 - до 32 процессоров, до 64 Гбайт ОЗУ и до 48 PCI-слотов. Конфигурации с резервированием, компоненты, допускающие горячую замену, и множество других RAS-функций обеспечивают круглосуточную эксплуатацию этих серверов.

Базовый компонент серверов PrimePower 800/1000/2000 - системная плата, на которой размещается до четырех процессорных модулей, до 32 модулей оперативной памяти и корзина с шестью разъемами PCI (рис. 2). В одной стойке ("кабинете") PrimePower 2000 может быть установлено до 8 системных плат. При этом возможна гибкая схема конфигурирования ресурсов. Например, для задач, связанных с интенсивными вычислениями, на системную плату можно установить четыре процессора и 16 Гбайт оперативной памяти. В то же время для крупномасштабного файлового или сетевого сервера можно установить один процессор, 1 Гбайт оперативной памяти и шесть контроллеров PCI.

Fig.2 Рис. 2. Системная плата сервера PrimePower.

Контроллер оперативной памяти и модули ОЗУ размещаются на каждой системной плате. Функции контроллера оперативной памяти реализованы в одной микросхеме, которая также обеспечивает контроль когерентности внешней кэш-памяти. Данная микросхема имеет структуру MCM (Multi Chip Module), которая обеспечивает быстрое параллельное выполнение транзакций, улучшая скорость выборки из оперативной памяти. Скорость доступа к оперативной памяти в пределах одной системной платы существенно повышается, поскольку при этом не задействуется коммутатор второго уровня.

Оперативная память организована с четырехкратным чередованием на каждой системной плате. Операции доступа к памяти по четырем различным адресам могут осуществляться одновременно, существенно улучшая скорость доступа и выборки. В качестве элементов ОЗУ используются модули синхронной динамической памяти SDRAM. Применяемый метод управления гарантирует эффективное использование все четырех банков памяти SDRAM, обеспечивая суммарную пиковую пропускную способность ОЗУ на уровне 9,6 Гбайт/с для каждой системной платы. Данные в оперативной памяти защищаются с использованием технологии ECC, при этом однобитные ошибки автоматически корректируются.

Основная шина ввода-вывода для серверов PrimePower - это шина PCI с тактовой частотой 33/66 МГц. На каждой системной плате размещаются шесть шин и разъемов PCI, причем каждый разъем подключается к своей независимой шине, что исключает снижение производительности в результате конкуренции за шинные ресурсы нескольких PCI-устройств.

В PrimePower 2000 используется двухуровневый коммутатор, благодаря которому система может масштабироваться до 128 процессоров. На первом уровне используется внутренний коммутатор, расположенный непосредственно на системной плате. Процессоры SPARC64-GP, мосты для шин PCI и модули оперативной памяти взаимодействуют между собой через это устройство. Коммутатор второго уровня осуществляет взаимодействие между коммутаторами первого уровня (рис. 3). Благодаря ему пропускная способность достигает 57,6 Гбайт/с. Fujitsu Siemens Computers использует специальную волноводную технологию для устранения задержек в кабелях, разъемах и используемых интегральных схемах, что позволяет осуществлять синхронные операции передачи на частоте 225 МГц.

Fig.3
Рис. 3. Коммутационная архитектура.

Максимальная конфигурация PrimePower 2000 состоит из двух объединенных "кабинетов", в каждый из которых устанавливается до 8 системных плат. В верхней части "кабинета" предусмотрено место для установки любых 19-дюймовых стоечных компонентов. Обычно сюда монтируются дисковые массивы, однако можно установить здесь же и другие устройства, например, накопитель на магнитной ленте. Максимальная емкость внутренних дисковых накопителей может достигать 4 Тбайт. Блоки питания находятся по обеим сторонам места для установки 19-дюймовых компонентов. Общесистемная и коммутационная панели расположены с задней стороны "кабинета". В сервере возможна горячая замена всех основных компонентов, что позволяет обслуживать систему без ее остановки.

В серверах PrimePower 800, 1000 и 2000 есть следующие средства высокой готовности (при этом для кластерных конфигураций характерен еще более высокий уровень готовности):

  • избыточные конфигурации и горячая замена ключевых компонентов;
  • расширенный набор компонентов и подсистем, обладающих способностью к автоматической коррекции своей работы;
  • усовершенствованный механизм обработки возникающих ошибок и обеспечения продолжения работы;
  • средство автоматического рестарта системы, уменьшающее время простоя;
  • средства слежения за состоянием оборудования в режиме реального времени.

Основные компоненты системы PrimePower 2000 (диски, источники питания и вентиляторы) резервируются и допускают горячую замену. Кроме того, процессоры, память и шину ввода-вывода можно быстро и безболезненно переконфигурировать.

Все аппаратное и программное обеспечение также может резервироваться с целью минимизации времени простоя в случае неожиданных событий, природных катастроф, аппаратных отказов и периодических профилактических проверок. Быстрое восстановление системы достигается за счет средств внутриузловых оповещений об отказах, а также методики резервирования, заимствованной из технологий универсальных ЭВМ. Модель PrimePower 2000 поддерживает различные методы, включая взаимное резервирование и резервирование по схеме N+1.

В серверах PrimePower 800, 1000 и 2000 система слежения (плата системного контроля) может быть дублирована, равно как и блоки питания и вентиляторы. В конфигурациях с двумя и более "кабинетами" предусматривается установка резервных системных часов, что позволяет быстро перезапустить систему в случае их выхода из строя. Линии передачи сети системного контроля также полностью дублируются в каждой системной стойке.

Избыточность дисковой подсистемы достигается путем зеркалирования и дублирования RAID-контролеров. Если во время загрузки ОС происходит ошибка чтения с диска, ОС может быть автоматически перезагружена с другого диска, что также существенно уменьшает общее время простоя. ПО Multipath Disk Control позволяет организовывать резервные пути ввода-вывода, автоматически переключая потоки данных с неисправных каналов на функционирующие.

Статические и динамические разделы

Серверы PrimePower могут быть разбиты на 15 независимых логических аппаратных систем, называемых виртуальными разделами. Раздел может содержать одну или несколько системных плат. На рис. 4 приведен пример формирования разделов. Каждый раздел может работать как полностью независимая система, самостоятельный сервер. Таким образом, в любом разделе может быть запущена или остановлена своя независимая ОС, а действия, производимые в одном разделе, никак не влияют на операции в другом. Если аппаратная или программная ошибка происходит в пределах конкретного раздела, действие этой ошибки ограничивается только пределами данного раздела.

Fig.4
Рис. 4. Приложения А и В работают независимо.

Системная консоль предоставляет единый доступ к администрированию всех разделов. Управляющие программы имеют Web-ориентированный графический интерфейс и обеспечивают следующие функции:

  • загрузку и останов системы;
  • определение, отслеживание и отображение ошибок аппаратных конфигураций и системных состояний - как нормальных, так и деградированных;
  • отображение состояния загрузки, отслеживание и определение ошибок у устройств ввода-вывода и системных ресурсов;
  • установку различного ПО, в том числе и ОС;
  • анализ системных настроек отдельных разделов.

В качестве примера применения виртуальных разделов можно рассмотреть систему, которую следует размещать на нескольких независимых серверах. В случае PrimePower 800, 1000 и 2000 функции таких серверов выполняют виртуальные разделы. Для приложений, требующих двух отдельных серверов для разработки и промышленной эксплуатации, можно использовать один виртуальный раздел PrimePower 800, 1000 или 2000 в качестве системы для разработки, а второй - для эксплуатации. Управление таким комплекса и его работа существенно проще, чем в случае независимых серверов, поскольку все действия выполняются с одной системной консоли.

В статическом разделе системные платы (с процессорами, ОЗУ и шинами PCI), образующие раздел, определяются до запуска ОС, и их конфигурацию нельзя изменить во время работы. При использовании динамических разделов системные платы можно добавлять или удалять из соответствующих разделов непосредственно во время работы.

При динамическом добавлении системных плат различные системные ресурсы (процессоры, оперативная память, шины PCI и присоединенные к ним контроллеры) добавляются в соответствующий раздел (рис. 5). Ядро и драйверы устройств распознают появление этих новых ресурсов и выполняют переход к состоянию, в котором они могут быть использованы операционной системой данного раздела.

Во время динамического удаления системной платы, операции, совершавшиеся при добавлении платы, выполняются в обратном порядке, что приводит к удалению различных ресурсов из системной конфигурации (рис. 6). В этом случае ресурсы удаляемой системной платы становятся недоступными для приложений, работающих в данном виртуальном разделе, а процессорная производительность и оперативная память уменьшаются. Ресурсы ввода-вывода также могут удаляться при помощи функции IOMP (I/O Multipathing) для устройств, подключенных через PCI контроллеры; при этом уменьшается производительность. В такой ситуации работа приложения или драйвера устройства может нарушиться при попытке обратиться к физически удаленному устройству. Специальная конструкция соединений с устройствами ввода-вывода максимально повышает эффективность функции динамического удаления компонентов из раздела.

Fig.5
Рис. 5. Динамическое увеличение ресурсов.

Fig.6
Рис. 6. Динамическое сокращение ресурсов.

Функция динамических разделов позволяет серверам PrimePower 800, 1000 и 2000 выполнять операции, невозможные для обычных серверов. В частности, производительность работающей системы можно увеличить, не прекращая выполнения текущих задач. При запуске рабочего приложения в одном разделе сервера PrimePower процессоры и оперативная память могут добавляться в раздел или удаляться из него в зависимости от требований приложения в течение всего рабочего цикла. При этом дополнительные процессоры и оперативная память становятся доступны для работающего приложения сразу после динамического добавления системной платы в раздел.

Кластерные конфигурации

Для построения кластеров высокой готовности серверы PrimePower 2000 используют технологию Reliant Cluster Software (RCS) компании Fujitsu Siemens Computers. Кластерные конфигурации могут объединять до 16 узлов и 2048 процессоров. Такой уровень расширяемости делает эти системы приспособленными для приложений, требующих очень высокой производительности.

В октябре 2001 г. компания Fujitsu Siemens Computers анонсировала новый пакет PrimeCluster, который позволяет применять мощные и экономически выгодные способы объединения серверов, максимизирующие готовность и масштабируемость информационной инфраструктуры предприятия. Этот пакет предназначается как для платформы Solaris/SPARC (серверы PrimePower и ОС Solaris начиная с версии 8), так и для Intel-серверов Primergy, оснащенных ОС Linux.

PrimeCluster разработан с учетом корпоративных требований к критически важным бизнес-приложениям и предназначен для обслуживания не только сервера, но и всей аппаратной инфраструктуры, включая сетевое оборудование и системы хранения данных. Пакет предоставляет множество механизмов, обеспечивающих высокую готовность и масштабируемость на любом уровне современных многоуровневых корпоративных приложений. Серверное ПО PrimeCluster включает такие функции, как поддержка отказоустойчивости и управление данными, защита от ошибок в сети, набор мастеров, облегчающих работу с системой, поддержка параллельной работы баз данных и динамическая балансировка нагрузки. Кроме того, Fujitsu Siemens Computers в сотрудничестве с компанией EMC2 (http://www.emc.com) обеспечивает поддержку систем хранения данных Symmetrix и технологии сетей хранения данных SAN.

По мнению разработчиков, PrimeCluster обеспечивает решение ключевых вопросов, возникающих при создании информационных инфраструктур современной Интернет-экономики. С его помощью можно быстро реализовать сложные надежные инфраструктуры на базе кластеров, объединяющих устройства различных аппаратных платформ. Применение PrimeCluster упрощает и ускоряет установку таких приложений, как SAP/R3, поскольку число поддерживаемых аппаратных конфигураций в этом случае оказывается весьма большим. Пользователи смогут сэкономить время и деньги не только в ходе установки, но и во время эксплуатации, поскольку высокая надежность системы облегчает и удешевляет управление.