Читаем Основы AS/400 полностью

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

Это отличается от шинной когерентности со слежением (snoopy bus-based coherence), используемой для кэшей второго уровня в узле SMP, описанной в главе 2. Одни и те же данные из страницы общей памяти могут одновременно находиться в нескольких кэшах процессоров узла SMP. При изменении данных в кэше одним процессором должны быть обновлены и копии в кэшах других процессоров. Под когерентностью кэшей понимают актуальность всех копий. При использовании протокола слежения справочник кэша каждого процессора содержит информацию только о тех страницах, которые находятся в его собственном кэше. При всяком изменении процессором данных в кэше об этом сообщается по шине слежения всем остальным процессорным кэшам, с целью обновить те же данные. Таким образом, каждый кэш следит за изменениями во всех других кэшах и обеспечивается когерентность кэшей. Поддержание в кэшах процессоров множественных копий гарантирует одинаковое время доступа ко всем данным (поэтому данная архитектура и называется UMA).

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

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

Ранние реализации NUMA с когерентностью кэшей на основе справочников имели большую разницу во времени обработки промахов удаленных и локальных кэшей. Когда процессор в узле определяет промах кэша L2, время получения данных из памяти удаленного узла может быть значительно больше времени получения данных из памяти узла, в котором находится процессор. Например, на ранней машине Sequent промахи удаленных кэшей обрабатывались в 10 раз медленнее локальных. Чтобы добиться от такой архитектуры достаточной производительности, требуется поддерживать приемлемо низкое число удаленных обращений путем тщательного распределения данных приложений по узлам. Обычно число таких обращений пытаются свести к 10 процентам. Таким образом, переход от архитектуры SMP к распределенному кластеру может потребовать изменений в прикладных программах и перераспределению данных приложений.

В последних системах NUMA преодолена проблема множества удаленных обращений, присущих ранним системам, так что необходимость в изменении приложений и перераспределении данных отпала. CC-NUMA и COMA используют для этого некоторое дополнительное оборудование. На каждом узле расположено по одному или несколько процессоров, а также собственные кэши, подключенные через подсистемы памяти к локальной памяти узла (это в точности соответствует описанной ранее конфигурации SMP). Теперь представьте себе, что к подсистеме памяти и к сети межузловых соединений подключено отдельно устройство удаленного доступа RAD

(remote access device). Применительно к AS/400 я называю эту дополнительную аппаратуру RAD, однако, общепринятого названия не существует. Для некоторых систем ее именуют контроллером когерентности, для других — хабом. Независимо от названия, ее назначение — реализация протокола когерентности кэшей на основе справочника между подсистемой памяти узла и сетью межузловых соединений.

Подключения RAD для AS/400 будут очень похожи на подсистемы ввода-вывода, представленные на рисунке 10.1, но при этом с одной стороны к RAD присоединены шины 6хх, а с другой — порты SAN.

В машине CC-NUMA RAD содержит отдельный кэш, в котором находятся только удаленные данные. При адресации процессором данных, которых нет в его собственном кэше, запрошенные данные считываются из памяти узла (если адрес локальный), или из кэша RAD (если адрес удаленный). Обращения к удаленным данным, которые не могут быть обслужены кэшем RAD, должны быть посланы по межузловой сети к «домашнему» узлу соответствующей страницы памяти, чтобы получить нужный блок данных из памяти удаленного узла, а также для поддержания когерентности.

Перейти на страницу:

Похожие книги

Архитектура операционной системы UNIX (ЛП)
Архитектура операционной системы UNIX (ЛП)

Настоящая книга посвящена описанию внутренних алгоритмов и структур, составляющих основу операционной системы (т. н. «ядро»), и объяснению их взаимосвязи с программным интерфейсом. Таким образом, она будет полезна для работающих в различных операционных средах. При работе с книгой было бы гораздо полезнее обращаться непосредственно к исходному тексту системных программ, но книгу можно читать и независимо от него.  Во-вторых, эта книга может служить в качестве справочного руководства для системных программистов, из которого последние могли бы лучше уяснить себе механизм работы ядра операционной системы и сравнить между собой алгоритмы, используемые в UNIX, и алгоритмы, используемые в других операционных системах. Наконец, программисты, работающие в среде UNIX, могут углубить свое понимание механизма взаимодействия программ с операционной системой и посредством этого прийти к написанию более эффективных и совершенных программ.

Морис Дж Бах , Морис Дж. Бах

ОС и Сети, интернет / ОС и Сети / Книги по IT
Как раскрутить и разрекламировать Web-сайт в сети Интернет
Как раскрутить и разрекламировать Web-сайт в сети Интернет

Настоящая книга заинтересует всех, кто столкнулся с вопросами подготовки, размещения в Сети и популяризации Internet ресурсов различного уровня: от домашней странички до корпоративного сайта. В ней вы найдете все, что необходимо для оптимизации Web сайтов под поисковые системы: приемы написания Web-страниц, описание множества самых популярных специализированных программ, предназначенных для подготовки сайта и его раскрутки, создания удачного HTML-кода страниц с правильными метаданными.Книга является практическим руководством для разработчиков Web сайтов и всех, занимающихся их продвижением. Автор приводит множество советов, касающихся создания и анонсирования Web страниц. Рассмотрены средства автоматизации для повышения эффективности разработки и маркетинга при создании и обслуживании сайта. Описание программных и сетевых средств, автоматизирующих процессы тестирования и отладки сайта, обеспечивающих проверку работоспособности и корректности гиперссылок, синтаксиса HTML кода и грамматики размещенного на странице текста, занимает центральное место в книге. Подробно излагаются возможности таких программ, как Linkbot Developer Edition, Domain NameChecker, Retrieve, CyberSpyder Link Test, HTML Link Validator, CSE HTML Validator, A Real Validator, MetaTag ToolKit, MetaMan, WebQA.Отдельная глава посвящена регистрации Web ресурсов в поисковых системах и каталогах. Описываются программы автоматической регистрации (WebPosition, Page Promoter, Web Регистратор), способы взаимодействия с индексирующими роботами поисковых машин, правила применения метаданных. Рассматриваются приемы и методы рекламы сайтов в Internet, указаны критерии ее эффективности.Издание рассчитано на широкий круг читателей и будет полезно как начинающим создателям Web сайтов, так и профессионалам, которые хотят научиться более качественно продвигать в Сети свой Web продукт.

Александр Петрович Загуменнов

ОС и Сети, интернет