Архитектура систем NonStop
На рис. 1 показана базовая архитектура систем NonStop, которая предполагает
объединение двух или более ЦП при помощи дублированной высокоскоростной
межпроцессорной шины. Каждый процессор имеет один или несколько каналов
в/в, соединяющих его с двухпортовыми дисковыми контроллерами и коммуникационными
адаптерами. В действительности у первых пяти поколений систем NonStop:
NonStop I, II, TXP, CLX и VLX было реализовано только по одному каналу
в/в на процессор, а пара разделяемых шин обеспечивала объединение до 16
процессоров. В более поздних реализациях NonStop Cyclone и Himalaya K10000/20000
для увеличения пропускной способности системы межсоединений была применена
сегментация межпроцессорной шины на базе четырехпроцессорных секций. Секции
могут объединяться с помощью оптоволоконных линий связи в узлы - до четырех
секций в узле. Системы NonStop II, TXP, VLX и Cyclone поддерживают также
возможность построения оптоволоконного кольца, которое позволяет объединить
между собой до 14 узлов и обеспечивает быстрый обмен данными внутри домена,
состоящего из 224 процессоров. В Cyclone к процессору могут подсоединяться
несколько каналов в/в, причем каждые четыре канала управляются своей парой
контроллеров прямого доступа к памяти.
Рисунок 1.
Архитектура NonStop
После разработки и успешных испытаний системы Cyclone компания Tandem
перешла на применение в своих изделиях RISC-процессоров компании MIPS,
вместо применявшихся ранее заказных CISC. В системах CLX/R и К200 используются
процессоры R3000, а в системах Himalaya K10000, K20000 и K2000 - процессоры
R4400. Одновременно с объявлением в 1993 году о начале поставок нового
семейства систем Himalaya компания анонсировала также оптоволоконную сеть
межпроцессорного обмена TorusNet, предназначенную для построения крупномасштабных
кластеров. TorusNet обеспечивает соединение четырехпроцессорных секций
с помощью избыточной сети с топологией двухмерного тора.
Все аппаратные компоненты систем NonStop построены на основе принципа
"быстрого проявления неисправности" (fail fast design), в соответствии
с которым каждый компонент должен либо функционировать правильно, либо
немедленно останавливаться. В более ранних системах Tandem реализация этого
принципа опиралась на использование методов проверки четности, избыточного
кодирования или проверки допустимости состояния при выполнении каждой логической
функции. Современные конструкции обнаружения ошибок в сложной логике полагаются
главным образом на методы дублирования и сравнения. Все системы на базе
микропроцессоров для гарантии целостности данных и быстрого обнаружения
неисправностей выполняют сравнение выходов дублированных и взаимно синхронизированных
микропроцессоров. В NonStop ответственность за восстановление после обнаружения
неисправности в аппаратуре возлагается на ПО.
ОС NonStop Kernel систем NonStop непрерывно развивалась и постепенно
превратилась из патентованной фирменной операционной системы в систему,
которая обеспечивает полностью открытые интерфейсы, построенные на основе
промышленных стандартов. Для поддержки устойчивости критически важных процессов
в NonStop Kernel реализованы низкоуровневые механизмы контрольных точек,
а также специальный слой программных средств, на котором строится как патентованная
среда Guardian, так и открытая среда Posix-XPG/4. NonStop Kernel базируется
на механизмах передачи сообщений и обеспечивает средства прозрачного масштабирования
в пределах 16-процессорного узла, 224-процессорного домена или 4080-процессорной
(локальной или глобальной) сети TorusNet.
Архитектура систем Integrity
Основной задачей компании Tandem при разработке систем семейства Integrity
было обеспечение устойчивости к одиночным отказам аппаратуры при соблюдении
100% переносимости стандартных UNIX-приложений. Для маскирования аппаратных
неисправностей в системах Integrity используется тройное модульное резервирование
(TMR - triple-modular redundancy) в процессоре, кэш-памяти и основной памяти
(рис. 2).
Рисунок 2.
Архитектура Integrity
Три процессора выполняют одинаковые потоки команд, но работают с независимой
синхронизацией. Процессоры синхронизируются во время обработки обращений
к глобальной памяти и при обслуживании внешних прерываний. Все обращения
к глобальной памяти с выходов резервируемых процессоров поступают через
схемы голосования в пару контроллеров TMR. Схемы голосования, сравнивая
обращения между собой, обнаруживают возможные неисправности процессоров
и посылают достоверные запросы в остальную часть системы. Для обнаружения
неисправностей в конструкциях контроллера TMR и процессора в/в используются
средства самоконтроля. Каждый периферийный контроллер содержит стандартную
плату VME, которая через специальный адаптер подсоединяется к паре шин
в/в, защищенных четностью. Плата адаптера позволяет осуществлять коммутацию
контроллера с 2 процессорами в/в.
В системах Integrity реализация платы основного процессора не требует
сложной логики самоконтроля. Однако отличает ее конструкцию от конструкции
процессорной платы систем NonStop, хотя в обеих используются одни и те
же микропроцессоры. Архитектура новых систем объединяет требования базовой
конструкции Integrity при сохранении совместимости с требованиями систем
NonStop.