Новые отказоустойчивые системы Integrity фирмы Tandem
Уже свыше 20 лет фирма Tandem работает на рынке отказоустойчивых систем "непрерывного действия" (non-stop). За эти годы она приобрела стала известность и как производитель программного обеспечения (достаточно упомянуть NonStop SQL и ее параллельную версию NONStop SQL/MP), и как производитель высоконадежных аппаратных средств. К последним относятся как коммерческие системы с массовым параллелизмом серии Himalaya, так и устойчивые по отношению к сбоям (fault-tolerance, в дальнейшем FT) Unix-cерверы серии Integrity.
В результате такой многолетней эволюции фирма Tandem прочно заняла лидирующие позиции на мировом рынке высокопроизводительных FT-систем. По мнению автора, конкурентов, чьи компьютерные системы имели бы близкие характеристики одновременно в сфере производительности и гарантии безотказной работы, не видно. Здесь уместно вспомнить мэйнфреймы IBM серии ES/9000 с операционной системой MVS, которые, как известно, отличаются высокими характеристиками надежности. Однако эти ЭВМ не ориентированы собственно на рынок отказоустойчивых систем.
Среди FT-систем среднего и младшего классов есть гораздо более серьезные конкуренты фирмы Tandem (например, компьютеры от Stratus или Sequoia). Говорят, что конкуренция - двигатель прогресса. Но, судя по новым анонсам аппаратных средств Tandem, не менее мощным его двигателем являются запросы потребителей и новые сетевые и информационные технологии. Во всяком случае, появление объявленной в начале этого года архитектуры ServerNet в серверах серии Integrity S4000 грозит увеличением отрыва от соперников.
О серверах Integrity FT и пойдет речь в нашйе статье. В наcтоящее время пользователям поставляются FT-серверы на базе микропроцессоров MIPS R3000, R4000 и R4400. Наиболее современные чипы R4400, применяемые в Integrity, имеют тактовую частоту до 200 МГц, кэши команд и данных по 16 Кбайт и кэш L2 объемом 1 Мбайт. Их производительность составляет 140.2 по SPECint92 и 131.0 по SPECfp92.
Архитектура серверов Integrity FT. |
Архитектура этих серверов (см.рис.1) основана на использовании т.н. "трехмодульных избыточных" (triple-modular redundant) логических процессоров. Три физических процессора в составе одного логического одновременно выполняют один и тот же поток команд. В том случае, если результат работы одного процессора отличается от других, аппаратура фиксирует сбой, и данный процессор выводится из работы. Необычным для традиционных серверов является и устройство оперативной памяти. Каждый из трех процессорных модулей имеет свою локальную RAM (в дополнение к кэш-памяти). Три процессорных модуля через 3 системные шины связаны с двумя банками памяти второго уровня. К ней через две шины ввода-вывода подсоединены процессоры ввода-вывода (ПВВ), и уже к ним - контроллеры шины VMEbus, общающейся с внешними устройствами.
В конструкции серверов Integrity есть еще целый ряд особенностей, направленных на обеспечение безотказной работы, которые были перенесены или получили свое развитие в новых серверах Integrity S4000. Мы остановимся на этих особенностях ниже при рассмотрении самих систем S4000. В этих системах применяется технология ServerNet, позволяющая обмен данными между процессорной частью и модулями ввода-вывода осуществлять через специальную сеть.
Архитектура ServerNet
Российскому читателю известен лозунг фирмы Sun Microsystems: "Cеть - это компьютер". Компания Tandem предложила свою интерпретацию этого лозунга, разработав для своих вычислительных систем новую архитектуру ServerNet, использующую сеть внутри компьютера! Своими корнями эта разработка уходит, конечно, в применяющуюся в серверах Himalaya технологию TorusNet. По утверждению Tandem, cистемы на базе ServerNet будут совместимы с серверами Himalaya.
При этом нововведения носят революционный характер. ServerNet - это архитектура, позволяющая строить отказоустойчивые масштабируемые серверы, предназначенные для коммерческих приложений с параллельной обработкой. "Строительными элементами" в этой конструкции являются процессорные модули (узлы), модули ввода-вывода и коммуникационные элементы.
В качестве последних выступают дешевые 6-портовые маршрутизаторы. Каждый маршрутизатор основан на одной CБИС-микросхеме и обеспечивает маршрутизацию "на лету", т.е. поступившие данные направляются в нужном направлении сразу после определения адреса получателя в заголовке пакета, не дожидаясь завершения приема всего пакета. Таким образом достигается уменьшение времени задержки маршрутизатора (до 300 нс на переход).
Маршрутизаторы объединяются в сеть, которая представляет из себя коммуникационную артерию, передающую данные между процессорными узлами, модулями ввода-вывода, а также от первых ко вторым и обратно. Обмен данными между микропроцессорами и RAM осуществляется локально процессорными узлами.
В состав маршрутизаторов входит коммутатор (6 х 6) и RAM, содержащая таблицу маршрутизации, которая загружается программным обеспечением, обеспечивая возможность реконфигурирования сети.
Сигнальная скорость каждого порта маршрутизатора равна 50 Мбайт/с при эффективной скорости передачи данных 40 Мбайт/с, что дает полную производительность 300 Мбайт/с на маршрутизатор. Порты являются дуплексными, т.е. пропускают до 100 Мбайт/с одновременно в двух направлениях. Сеть может содержать много маршрутизаторов, связанных посредством кабелей на базе витых пар длиной до 30 м, и большое количество подсоединенных узлов. Каковы возможности роста этой "cуперсети" можно оценить пользуясь данными табл.1.
Сеть обеспечивает надежное соединение "точка-точка". Целостность данных поддерживается благодаря обнаружению и изоляции 1-разрядных ошибок, наличию контрольных сумм CRC и использованию аппаратного подтверждения факта получения данных.
В архитектуре ServerNet заложена возможность выбора уровня надежности. Базовый уровень обеспечивает целостность данных. И характеризуется наличием одной сети и "однопортового" подсоединения к ней узлов. Уровень высокой доступности также предполагает наличие однопортовых соединений и одной сети, но имеющей уже альтернативные запасные пути между узлами. Наконец, уровень непрерывной доступности обеспечивается присутствием двух дублирующих друг друга сетей с двухпортовым подсоединением к ним узлов.
Архитектура ServerNet обеспечивает принципиальную возможность прямого обмена данными между модулями ввода-вывода, минуя оперативную память компьютера. При этом процессорные узлы освобождаются от дополнительной нагрузки. Так можно передавать большие объемы данных (например, от дисковой подсистемы в модуль ввода-вывода, отвечающий за соединение с LAN или WAN) не обращаясь к процессорным узлам. Это позволяет эффективно решать проблемы передачи например, графической, звуковой или видеоинформации.
Возможность наращивать сеть из маршрутизаторов обеспечивает дополнительные пути передачи данных. В сочетании с масштабируемостью подсистемы ввода-вывода, которая достигается добавлением соответствующих модулей, технология ServerNet позволяет при необходимости легко увеличивать пропускную способность ввода-вывода.
По данному критерию ServerNet имеет преимущество перед шинной архитектурой SMP, поскольку в последней пропускная способность ввода-вывода и, следовательно, возможности наращивания конфигурации соответствующей подсистемы ограничены пропускной способностью шины.
Другая интересная особеность ServerNet - гибкость в построении "процессорной части" конфигурации. К сети можно подсоединить SMP-систему, кластер или параллельную систему с распределенной памятью.
Уникальные характеристики ServerNet в области гибкости и масштабируемости, возможности передачи информации без ее обязательной обработки - все это делает эффективным применение данной архитектуры в приложениях, имеющих дело с гигантскими объемами информации. Такие приложения сегодня только начинают появляться.
16 октября сего года Tandem Computers анонсировала, овместную программу с Compaq Computer по разработке серверов, работающих с Windows NT в основу которой ляжет технология ServerNet. Как считает Tandem, это первый шаг на пути превращения ServerNet в индустриальный стандарт.
Integrity S4000.
Новые серверы Integrity S4000 стали первым практическим воплощением технологии ServerNet (в дальнейшем планируется использовать эту архитектуру и в серверах Himalaya). В них применяются двухсотмегагерцовые процессоры R4400. В процессорной части эти серверы логически представляют из себя "4-way SMP-system" - содержащую до 4 процессоров (или, иначе, "4-кратную") SMP-систему.
В каждом процессорном узле SPU (System Processor Unit) имеется по 2 (физических) процессора вместе с логикой сравнения и RAM. Каждый SPU имеет 2-портовое соединение с сетью ServerNet. SPU объединены в пару, в которой все процессоры выполняют общий поток команд. Если на выходе процессора результаты будут отличаться от другого процессора в том же SPU, фиксируется сбой, и SPU переводится в автономное состояние. Система продолжит работу со вторым SPU.
RAM в каждом SPU защищена кодами ECC, а это значит, что исправляются одиночные и обнаруживаются двойные ошибки памяти. В последнем случае SPU выводится в автономное состояние, но система продолжает работать, не останавливая процессы. подсистемы RAM в SMP-конфигурациях соединяются в SPU через разделяемую шину, обеспечивающую когерентность, а FT-обработка обеспечивается двойным набором SPU. Процессоры и память можно добавлять без останова и перезагрузки, не прерывая выполнения приложений.
Пиковая производительность шины памяти составляет 400 Мбайт/с на процессор. В каждом SPU может быть 128 или 256 Мбайт RAM, т.е. до 1 Гбайт на 4-кратную SMP-систему. Представляется, что для приложений, работающих с очень большими базами данных при использовании идеологии разделяемой общей памяти SMP, это может оказаться узким местом. Для сравнения, в 4-процессорных SMP-серверах K400 от Hewlett-Packard максимальный размер RAM равен 2 Гбайт, а в суперкомпьютерных серверах DEC AlphaServer 8400 и SGI Challenge/PowerChallenge - 14 и 16 Гбайт соответственно.
Взаимодействие процессорных узлов с подсистемой ввода-вывода осуществляется через сеть ServerNet. Обеспечиваются разные уровни надежности вплоть до FT с дублированием сетей и подсоединением процессоров к обеим сетям. При сбое в любой подсети ServerNet аппаратура автоматически перемаршрутизирует пакеты данных через вторую подсеть, в нормальных же условиях работают обе подсети, увеличивая тем самым пропускную способность.
Интерфейс различных контроллеров ввода-вывода с ServerNet в Integrity S4000 обеспечивается многофункциональным контроллером SSC (Standard System Controller). Он содержит процессор поддержки и диагностики и обеспечивает также интерфейсы SCSI-2 и интерфейс с консолью.
Пара SSC-контроллеров обеспечивает FT-доступ к устройствам массовой памяти, т.е. каждый SSC имеет связь с одной из подсетей ServerNet. Два шинных SCSI-интерфейса крест-накрест связаны с обоими SSC, обеспечивая 2 полностью независимых пути доступа ко всем внутренним дискам и ленточным устройствам. Отказоустойчивость дисковых подсистем обеспечивается хорошо известной технологией зеркального отображения.
К S4000 могут быть подсоединены сетевые контроллеры, в их числе синхронные и асинхронные, Ethernet и др. Они также являются двухпортовыми, подсоединяются к двум подсетям ServerNet и обеспечивают FT-доступ. Как SSC, так и контроллеры ввода-вывода можно заменять на работающей системе без ее останова.
Пиковая пропускная способность на тракте процессорный узел - подсистема ввода-вывода составляет примерно 200 Мбайт/с, или 800 Мбайт/с в 4-кратной SMP-конфигурации. Cреди SMP-cистем заметно более высокую пропускную способность имеют только некоторые суперкомпьютерные серверы, например, упомянутые выше модели фирм DEC и SGI. Что касается ограничения скорости передачи в 50 Мбайт/с на порт маршрутизатора, то оно не должно сказываться при решении тех задач, на которые ориентированы серверы Tandem, поскольку применяющиеся сегодня дисковые накопители не могут передавать данные быстрее. Более того, это ограничение связано с применяемой в ServerNet тактовой частотой в 50 МГц и может быть элиминировано в будущем.
Вместе с задублированностью источников питания и систем охлаждения, рассмотренные выше особенности архитектуры обеспечивают поддержание непрерывной работоспособности систем Integrity S4000. В основном корпусе (кабинете размером 132 х 66 х 91.5 см) стандартных моделей СМ серверов S4000 размещается до 4 SPU, которые могут быть сконфигурированы как полностью отказоустойчивая (FT) 2-кратная SMP-система, или 4-кратная SMP-система. Для того, чтобы иметь 8-кратный полностью отказоустойчивый SMP-сервер, необходим еще один такой системный кабинет. Кроме процессорных узлов, сети и контроллеров ввода-вывода ServerNet, в таком кабинете располагаются и устройства ввода-вывода. При необходимости к системным кабинетам может быть добавлено до 4 кабинетов, содержащих дополнительные контроллеры и внешние устройства.
В используемую в серверах S4000 операционную систему, основанную на UNIX SVR4.2 MP, внесены многочисленные усовершенствования, направленные на поддержание бесперебойного функционирования. Однако их обсуждение выходит за рамки данной публикации.
Традиционными областями применения FT-систем от Tandem являются обработка транзакций (OLTP) и системы поддержки принятия решений. С точки зрения прикладных областей это в первую очередь банковские применения, а также сферы, телекоммуникации, розничной торговли, индустрии, здравоохранения и транспорта.
Именно банковские приложения в первую очередь обусловили интерес, котрый проявляется в России к компьютерам фирмы Tandem, в частности, со стороны таких профессионалов в области компьютеризации банковского дела, как IBS и банк "Cтоличный". Компьютеры серии Himalaya уже используются отечественными потребителями, (например, в "Мостбизнесбанке"). Системы Integrity, о которых шла речь в настоящей статье, также представляют интерес для российских специалистов. Применение в этих серверах OC UNIX и широкое использование стандартов открытых систем должно этому способствовать.
Компьютеры Integrity появились и в нашей стране. Что касается поставок Integrity S4000, то Tandem планирует начать их по всему миру в конце 1995 г.
Таблица 1.
Пропускная способность ServerNet.
Число узлов | 1024 | 1048576 |
Число маршрутизаторов | 1080(1) 900(2) | 694282(1) 585936(2) |
Пропускная способность | 102.4 | 104.9, Тбайт/с |
Пропускная способность маршрутизаторов | 648(1), Гбайт/с 540(2) , Гбайт/с | 417(1),Тбайт/с 352(2),Тбайт/с |
- Примечание: (1)- тетраэдрическая
решетка;
(2) - гексагональное дерево.