Hardware - разное

       

Протокол MESI и функция вмешательства


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

Протокол MESI и функция вмешательства

Рисунок 4.
Диаграмма переходов состояний протокола MESI.

Состояние строки "Единственная" (Exclusive). Данные этой строки достоверны в этом кэше и недостоверны в любом другом кэше. Данные не модифицированы по отношению к памяти.

Состояние строки "Разделяемая" (Shared). Данные этой строки достоверны в этом кэше, а также в одном или нескольких удаленных кэшах.

Состояние строки " Модифицированная " (Modified). Данные этой строки достоверны только в этом кэше и были модифицированы. Данные недостоверны в памяти.

Состояние строки " Недостоверная " (Invalid). Достоверные данные не были найдены в данном кэше.

Для поддержки мультипроцессорной организации были реализованы несколько примитивов адресной шины. Это позволяет одному главному устройству шины передавать, а другим устройствам обнаруживать появление этих примитивов на шине. Устройство . владелец кэша наблюдает за адресной шиной во время глобального запроса и сравнивает целевой адрес с адресами тегов в своем кэше L2. Если происходит попадание, то выполняемые действия определяются природой запроса.

Как уже было отмечено, одной из функций тегов L2 является уменьшение накладных расходов, связанных с ответами на запросы механизма наблюдения. Доступ к тегам L2 разделяется между процессорами и адресной шиной. ТегиL2 практически выполняют роль фильтров по отношению к активностям наблюдения.
Это позволяет процессорам продолжать обработку вместо того, чтобы отвечать на каждый запрос наблюдения. Хотя теги L2 представляют собой разделяемый между процессором и шиной ресурс, его захват настолько кратковременен, что практически не приводит ни к каким конфликтам.

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

Для увеличения пропускной способности системы в PowerScale реализованы два способа выполнения функции вмешательства.

    • Немедленная кроссировка (Cross Immediate), которая используется, когда канал данных источника и получателя свободен и можно пересылать данные через коммутатор на полной скорости.
    • Поздняя кроссировка (Cross Late), когда ресурс (магистраль данных)занят, поэтому данные будут записываться в буфер коммутатора и позднее пересылаться запросчику.



Содержание раздела