Возможности масштабирования
Обычно расширение системы выполняется с помощью встроенных кабельных
соединений, а также установки в гнезда расширения ServerNet плат маршрутизаторов.
Кроме того, добавление каждого ЦП обеспечивает увеличение числа линий связи
ServerNet и эффективно расширяет общую пропускную способность в/в системы.
В отличие от других массивно-параллельных архитектур сети ServerNet не
ограничены только регулярными топологиями типа гиперкубов или торов. Сеть
ServerNet позволяет увеличить число линий связи в любом месте, где требуется
дополнительная пропускная способность. Приложения с умеренными требованиями
к системе межсоединений могут довольствоваться минимальным количеством
связей, а следовательно, использовать достаточно дешевую сеть, в то время
как приложения с высокой интенсивностью обработки данных могут рассчитывать
на организацию сети с большей связностью.
Сегодня в области масштабируемых распределенных вычислений начали широко
использоваться стандартные системы UNIX. В ряде научных приложений кластеры
рабочих станций стали заменять суперкомпьютеры. В отличие от NonStop Kernel,
которая сразу же была разработана как распределенная операционная система,
большинство доступных ОС таким свойством не обладают. В качестве механизма
масштабирования в этих системах обычно используется SMP-обработка. Этот
механизм предполагает реализацию в системе единой разделяемой памяти, разделяемой
системы в/в и когерентности кэш-памяти.
Архитектура ServerNet обеспечивает гибкую реализацию разделяемой памяти,
и несколько ЦП могут быть связаны друг с другом шиной когерентности. Вместо
использования единой глобальной памяти, память в системе распределена по
ЦП. Это приводит к неодинаковому времени доступа, но аппаратура поддерживает
глобальное адресное пространство и когерентность кэш-памяти.
С целью повышения производительности в каждом ЦП поддерживается свое
собственное локальное пространство памяти. В каждом процессоре локальная
память начинается с физического адреса 0, ее размер задается в процессе
установки конфигурации системы.
В архитектуре можно выделить три отдельных класса памяти. Наименьшее
время доступа имеет локальная память, доступ к глобальной памяти, размещенной
на плате локального процессора, занимает больше времени, а доступ к глобальной
памяти на плате другого ЦП является самым продолжительным. Локальная память
каждого ЦП содержит копию части программного кода и данных операционной
системы, доступ к которым разрешен только по чтению. Кроме того, в локальную
память операционная система может поместить некоторые частные для процессора
данные. Оценка показывает, что размещение этих объектов в локальной памяти
и случайное распределение глобальной памяти будут обеспечивать производительность,
сравнимую с производительностью системы, реализующей механизмы единой глобальной
памяти.
Системы с разделяемой памятью могут функционировать либо в симплексном,
либо в дуплексном режиме. Система, построенная на узлах SMP и обеспечивающая
отказоустойчивость программными средствами, может использовать только симплексный
режим. Полностью аппаратная отказоустойчивая система с масштабируемостью
SMP требует реализации дуплексного режима работы.
Шина когерентности может также поддерживать работу гибридных распределенных
систем, в которых распределенная память используется для обмена данными
между процессорами. В этом случае система распределяет основную часть памяти
под "локальные нужды" процессоров, а в глобальную память помещает только
разделяемые данные.
Рисунок 6.
Распределение памяти в четырехпроцессорной SMP-системе