Hardware - разное

Архитектура систем 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.


Содержание раздела