Смекни!
smekni.com

Архитектура серверов корпоративных баз данных (стр. 9 из 10)

Как уже отмечалось, для обеспечения отказоустойчивости в системе Integrity требуются три процессорных кристалла и три массива микросхем памяти. Новая архитектура требует четырех процессорных кристаллов (два на модуль ЦП) и двух массивов микросхем памяти. Стоимость реализации этих двух подходов существенно зависит от размера памяти. Для типовых систем оба метода имеют сравнимую стоимость.

ServerNet

ServerNet представляет собой быструю, масштабируемую, надежную системную сеть, обеспечивающую гибкость соединения большого числа ЦП и периферийных устройств в/в между собой. Главными свойствами этой сети коммутации пакетов являются малая задержка и высокая надежность передачи данных. Для уменьшения задержки в сети применяется метод червячной маршрутизации, не требующий приема всего пакета до его отсылки к следующему приемнику. Физический уровень ServerNet образуют независимые каналы приема и передачи, каждый из которых имеет 9-битовое поле команд/данных и сигнал синхронизации. Поле команд/данных обеспечивает кодирование 256 символов данных и до 20 символов команд. Символы команд используются для управления уровнем звена, инициализации и сигнализации об ошибках. Кодирование в одних и тех же линиях команд и данных сокращает количество контактов и упрощает обнаружение ошибок в логике управления.

Система использует ServerNet для организации связей ЦП-ЦП, ЦП-В/В и В/В-В/В. Пересылки между микропроцессором и памятью для каждого узла ЦП остаются локальными.

Данные в сети ServerNet пересылаются со скоростью 50 Мбайт в секунду. Такая скорость передачи данных была выбрана исходя из того, чтобы превзойти потребности существующих периферийных устройств при соблюдении низких цен. В будущих поколениях ServerNet производительность линий связи будет увеличиваться по мере необходимости.

В настоящее время максимальная длина линии связи ServerNet ограничена 30 м. В будущих адаптерах предполагается увеличение расстояния между узлами ServerNet с помощью последовательных оптоволоконных линий связи. Предполагается, что этот переход будет относительно простым, поскольку все функции управления используют одни и те же линии команд/данных.

Все транзакции по сети ServerNet происходят в два этапа: выполнение запроса и ожидание соответствующего ответа, который должен вернуться до истечения заданного интервала времени (счетчика таймаута). Все узлы ServerNet поддерживают возможность выдачи несколько исходящих запросов в другие узлы.

В СБИС маршрутизатора ServerNet реализован матричный переключатель размерностью 6х6. Решение о направлении маршрутизации принимается на основе анализа идентификатора приемника из заголовка пакета. В состав маршрутизаторов входят входные буфера FIFO, логика арбитража и управления потоком данных, реализованная с помощью ЗУПВ таблица маршрутизации и матричный переключатель
(Рис. 12.). Инициализация и реконфигурация сети выполняются программными средствами путем загрузки соответствующих таблиц маршрутизации.

Рис. 12. СБИС 6-портового маршрутизатора ServerNet.

Процессорный модуль

Одним из базовых элементов системы является процессорный модуль (ЦП), блок-схема которого показана на Рис. 13. В ЦП, построенном на принципах быстрого проявления неисправностей, имеются два порта ServerNet, обеспечивающие его соединение через системную сеть с другими ЦП и устройствами в/в. Для реализации механизмов разделяемой общей памяти несколько ЦП могут объединяться друг с другом с помощью шины когерентности.

Рис. 13. Блок-схема ЦП.

В состав ЦП входят два микропроцессора, каждый из которых имеет независимый вторичный кэш. Каждый микропроцессор подсоединяется к шине памяти с помощью СБИС процессорного интерфейса. При выполнении обращений к памяти эти СБИС сравнивают выходы обоих микропроцессоров для обнаружения всех возможных ошибок микропроцессора и кэша. Память ЦП защищена кодом ECC, который обеспечивает коррекцию всех одиночных ошибок и обнаружение любых ошибок в отдельных микросхемах ДЗУПВ или адресных линиях. Массив микросхем памяти соединяется с шиной памяти ЦП через пару СБИС контроллеров памяти. Эти СБИС во время обращений к памяти взаимно проверяют выходы друг друга.

ЦП могут иметь прямой доступ к памяти других ЦП с помощью дополнительной шины когерентности. Эта шина обеспечивает аппаратную поддержку стандартных приложений UNIX или Windows NT, которые используют симметричную мультипроцессорную обработку (SMP). Каждый ЦП подсоединяется к шине с помощью пары самоконтролирующихся СБИС интерфейса когерентности. Эти СБИС обеспечивают кэш-когерентный доступ к общей памяти используя дублированную память тегов и стандартный протокол аннулирования блоков кэш-памяти. Они обеспечивают также когерентность кэш-памяти при выполнении обращений к памяти со стороны В/В. Все передачи данных по шине когерентности защищены кодом ECC. Проверка синдрома ECC для данных, пересылаемых по шине, и сравнение выходов СБИС позволяет обнаруживать сбои шины или СБИС интерфейса.

СБИС процессорного интерфейса ЦП реализуют два порта ServerNet. Линии приема данных обоих портов ServerNet подсоединяются к обеим СБИС процессорного интерфейса. Каждая СБИС формирует данные для передачи по обоим портам ServerNet, но реально данные передаются только из одного порта. Вторая СБИС принимает данные, передаваемые другой СБИС, сравнивает полученное значение со значением, которое она сформировала сама, и сигнализирует об ошибке при любом рассогласовании данных.

Организация ввода/вывода

Новая система в/в обеспечивает практически неограниченные возможности масштабирования по числу объединяемых узлов и пропускной способности сети. Она эффективно поддерживает модель распределенных вычислений разрешая любому процессору обращаться к любому контроллеру в/в и допуская реализацию прямых связей контроллер-контроллер.

Дуплексная работа

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

Модули ЦП имеют развитые средства обнаружения неисправностей. ЦП останавливается при обнаружении его схемами контроля любой ошибки. Остановка ЦП приводит к тому, что по обоим его портам ServerNet будет передана запрещенная кодовая комбинация. В результате маршрутизатор может определить неисправный ЦП (основополагающим правилом системы установлено, что все ошибки ЦП должны приводить к передачам по ServerNet запрещенных кодовых комбинаций).

Когда маршрутизатор, подсоединенный к дуплексному ЦП, обнаруживает ошибку, он начинает выполнение протокола восстановления. Этот протокол реализован полностью аппаратно без привлечения программных средств. При этом один из ЦП исключается из работы, а другой свою работу продолжит. Протокол гарантирует, что исправный ЦП останется работать. Однако существуют случаи, когда в исключенном ЦП неисправности отсутствуют. Например, к исключению ЦП из работы могут привести неисправности в одном из маршрутизаторов или в одной из линий связи ServerNet. В этих случаях система обслуживания может исключить из работы неисправный маршрутизатор, а исключенный ЦП перевести в состояние online.

Если при пересылке пакета из ЦП маршрутизатор обнаруживает неисправность линии связи ServerNet, он помечает пакет как недостоверный. Любой узел ServerNet, который получит этот пакет, будет его игнорировать. Это означает, что неисправность в ЦП, маршрутизаторе или линии связи может привести к потере одного или нескольких пакетов. При нормальной дуплексной работе только один из двух маршрутизаторов дуплексных процессоров пересылает пакеты, поступающие из каждого ЦП. Это ограничивает потерю пакетов пределами одной подсети ServerNet. Интерфейсные кристаллы обнаруживают потерю пакетов ServerNet с помощью средств временного контроля. Программное обеспечение ввода/вывода выполняет восстановление путем повторной передачи данных по альтернативному пути.

Возможности масштабирования системы

ServerNet обеспечивает широкие возможности для масштабирования системы. Обычно расширение выполняется с помощью встроенных кабельных соединений, а также установки в гнезда расширения ServerNet плат маршрутизаторов. Кроме того, добавление каждого ЦП обеспечивает увеличение числа линий связи ServerNet и эффективно расширяет общую пропускную способность в/в системы. В отличие от других массивно-параллельных архитектур сети ServerNet не ограничены только регулярными топологиями типа гиперкубов или торов. Сеть ServerNet позволяет увеличить число линий связи в любом месте, где требуется дополнительная пропускная способность. Приложения с умеренными требованиями к системе межсоединений могут довольствоваться минимальным количеством связей, а следовательно, использовать достаточно дешевую сеть, в то время как приложения с высокой интенсивностью обработки данных могут рассчитывать на организацию сети с большей связностью.

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

Система обслуживания

Основные функции системы обслуживания включают инсталляцию системы, формирование сообщений об ошибках, диагностику и управление средствами контроля питающих напряжений и температурных режимов работы. Системой обслуживания управляют два сервисных процессора (SP), которые размещаются в каждой стойке и работают как специализированные контроллеры в/в ServerNet. SP, размещенные в разных стойках, также связаны друг с другом посредством ServerNet.