Дуплексная обработка
Аппаратная отказоустойчивая система реализуется с помощью дуплексной
пары, созданной путем соответствующего конфигурирования двух процессорных
модулей. Идентичное состояние памяти и кэшей в этих двух модулях поддерживается
благодаря выполнению на обоих ЦП одного и того же программного кода с теми
же самыми данными, а также поступлению в память обоих ЦП всего потока ввода.
Оба ЦП генерируют идентичные исходящие потоки вывода. Один из этих потоков
выбирается маршрутизаторами для пересылки в контроллеры в/в или другие
процессоры.
Дуплексная работа затрагивает три аспекта построения системы: межмодульную
синхронизацию, синхронизацию уровня линий связи ServerNet и обработку ошибок.
Для реализации дуплексного режима требуются два маршрутизатора в различных
подсетях ServerNet и два ЦП, подсоединенных к разным шинам когерентности
для работы с разделяемой памятью. Отказ одного из компонентов системы не
может вывести из строя оба ЦП или оба маршрутизатора. Все ЦП, разделяющие
шину когерентности, имеют общую синхронизацию. Специалисты Tandem называют
эту комбинацию ЦП, шины когерентности и системы синхронизации слайсом.
Система, сконфигурированная для дуплексной работы, имеет два слайса.
Работа дуплексной системы требует синхронной работы двух слайсов. Процессоры
в каждом слайсе в одном и том же такте выполняют идентичные команды. Входной
поток ввода поступает в интерфейс памяти каждого ЦП в одном и том же такте,
поэтому в нормальных условиях при отсутствии неисправностей поведение слайсов
будет полностью идентичным.
Модули ЦП имеют развитые средства обнаружения неисправностей. ЦП останавливается
при обнаружении его схемами контроля любой ошибки. Остановка ЦП приводит
к тому, что по обоим его портам ServerNet будет передана запрещенная кодовая
комбинация. В результате маршрутизатор может определить неисправный ЦП
- основополагающим правилом системы установлено, что все ошибки ЦП должны
приводить к передачам по ServerNet запрещенных кодовых комбинаций.
Когда
маршрутизатор, подсоединенный к дуплексному ЦП, обнаруживает ошибку, он
начинает выполнение протокола восстановления. Этот протокол реализован
полностью аппаратно. При этом один из ЦП исключается из работы, а другой
продолжает функционировать - протокол гарантирует, что исправный ЦП останется
работать. Однако существуют случаи, когда в исключенном ЦП неисправности
отсутствуют. Например, к исключению ЦП из работы могут привести неисправности
в одном из маршрутизаторов или в одной из линий связи ServerNet. В этих
случаях система обслуживания может исключить из работы неисправный маршрутизатор,
а исключенный ЦП перевести в состояние on-line.
Если при пересылке пакета из ЦП маршрутизатор обнаруживает неисправность
линии связи ServerNet, он помечает пакет как недостоверный. Любой узел
ServerNet, который получит этот пакет, будет его игнорировать, а это означает,
что неисправность в ЦП, маршрутизаторе или линии связи может привести к
потере одного или нескольких пакетов. При нормальной дуплексной работе
только один из двух маршрутизаторов дуплексных процессоров пересылает пакеты,
поступающие из каждого ЦП. Это ограничивает потерю пакетов пределами одной
подсети ServerNet. Интерфейсные кристаллы обнаруживают потерю пакетов ServerNet
с помощью средств временного контроля. ПО ввода/вывода выполняет восстановление
путем повторной передачи данных по альтернативному пути.
Рисунок 5.
Блок-схема ЦП