Вы находитесь на старом сайте МЦСТ. Актуальный материал смотрите на новом сайте.

Проблема поддержки когерентности кэшей в системах на кристалле Эльбрус-S, Эльбрус-2S

В одноядерной системе на кристалле «Эльбрус-S», предназначенной для применения в многопроцессорных NUMA-системах, реализован механизм поддержки когерентности кэшей по протоколу MOESI на основе широковещательных сообщений с гашением копий при записи. Аналогичный механизм используется также в системах AMD [1]. В разрабатываемой четырёхъядерной системе «Эльбрус-2S» используется похожий механизм, использующий более простой протокол MOSI с фильтрацией запросов когерентности на основе усечённого справочника.

Поддержка когерентности кэшей – организация работы аппаратуры, при которой в кэшах сохраняются только актуальные (с учетом одновременной работы всех процессоров) копии данных. Использование протокола MOESI означает, что с точки зрения многопроцессорного доступа к данным каждая кэш-строка в каждом кэше находится в одном из пяти состояний: Modified, Owned, Exclusive, Shared или Invalid. Состояние Invalid эквивалентно отсутствию в кэше копии; остальные четыре состояния можно представить как комбинации двух независимых признаков – исключительность (exclusiveness) и владение (ownership). Первый означает отсутствие копий этих данных в других процессорах, второй – что данные модифицированы, и этот кэш отвечает за передачу их другим процессорам и обратную запись в основную память [2].

Одной из основных проблем при реализации протокола поддержки когерентности кэшей является синхронизация их состояний. Так, при загрузке строки в один кэш во всех остальных кэшах эта строка должна потерять признак исключительности. Для получения строкой в кэше свойства исключительности с целью её последующей модификации требуется перевести эту строку во всех других кэшах в состояние Invalid. При решении этой задачи часто используют механизм на основе справочника, в котором за каждый адрес отвечает определённое устройство, содержащее информацию о состоянии этой строки в каждом кэше. Полные справочники требуют хранения большого количества информации, пропорционального объёму памяти и количеству кэшей в системе; кроме того, обращение в справочник увеличивает время доступа. В системе «Эльбрус-S» используется другой распространённый, более простой в реализации метод – широковещательные сообщения.

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

В системе на кристалле «Эльбрус-2S» комбинируются оба метода синхронизации состояний: неполный, или усечённый справочник хранит информацию, в каких процессорах или кластерах (содержащих 4 или 16 L2-кэшей, соответственно) строка гарантированно имеет состояние Invalid, и какой процессор или кластер содержит её владельца, если такой имеется. Использование такого справочника позволяет фильтровать поток сообщений с точностью до процессора или кластера и применять широковещание лишь локально в них, поэтому такой механизм называется фильтром на основе усечённого справочника. Его характеризуют меньший трафик по сравнению с использованием только широковещания и лучшая масштабируемость по сравнению с обоими методами.

Диаграмма состояний кэш-строки в протоколе MOESI, с переходами в результате рассылки сообщений о выполняемой операции считывания или записи, показана на рис. 1 [1].

Подробнее... Загрузить файл 

Содержание:

Введение
1. Состояние Exclusive
2. Состояние Owned
2.1. Характеристика проблемы
2.2. Решение проблемы в системе «Эльбрус-2S»
Выводы

Проблема поддержки когерентности кэшей в системах на кристалле Эльбрус-S, Эльбрус-2S Проблема поддержки когерентности кэшей в системах на кристалле Эльбрус-S, Эльбрус-2S

Описывается конфликт Invalidate-Invalidate, возможность которого влечёт необходимость лишних передач данных между обладателями состояний Owned и Shared либо реализации механизмов, обнаруживающих конфликт; рассматривается такой механизм, реализованный в системе «Эльбрус-S», и предлагается усовершенствованный, рассчитанный на работу в системе «Эльбрус-2S».

old.mcst.ru