Общее введение в согласованность кэша

Last Updated: 2020-10-30
4.8
(5)

Основная: Концепция согласованности кеша может быть для вас относительно новой, но это относительно важная концепция компьютерной области. Итак, сегодня эта страница даст вам общее представление о согласованности кеширования.

Overview

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

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

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

В следующей части перечислены требования к согласованности кеша.

  • Распространение записи: Изменения данных в любом кэше должны распространяться на другие копии в эквивалентном кэше.
  • Сериализация транзакции: Все процессоры должны просматривать операции чтения / записи в одну ячейку памяти в одном и том же порядке.

Теоретически согласованность можно реализовать на уровне загрузки / хранения. Однако на практике это обычно выполняется на уровне детализации блока кэша.

Определение

Согласованность определяет поведение чтения и записи в одно место адреса. Тип данных, которые одновременно появляются в разных кэш-памяти, называется согласованностью кеш-памяти. В некоторых системах это также называется глобальной памятью.

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

  1. Когда процессор P считывает позицию X после записи тем же процессором Pto X и запись в X другим процессором не появляется между записью и инструкцией чтения P, X всегда должен возвращать значение, записанное P.
  2. Когда процессор P1 считывает местоположение X, другой процессор записывает из P2 в X, а любой другой процессор записывает в X между двумя доступами, и чтение и запись достаточно разделены. X всегда должен возвращать значение, записанное P2. Это условие определяет концепцию последовательного представления памяти. Распространение записи в области общей памяти гарантирует, что все кеши имеют согласованное представление о памяти. Если процессор P1 считывает старое значение X, мы можем сказать, что память некогерентна даже после записи P2.

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

Механизмы согласованности

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

Недостатком является то, что отслеживание не имеет масштабируемости. Каждый запрос должен транслироваться на все узлы в системе, а это означает, что по мере роста системы размер шины и предоставляемая ею пропускная способность должны увеличиваться.

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

Протоколы согласованности

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

Протокол должен соответствовать основным требованиям согласованности, адаптированным к целевым системам или приложениям.

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

 

 

Насколько полезным был этот пост?

Нажмите на звездочку, чтобы оценить!

Средний рейтинг 4.8 / 5. Подсчет голосов: 5

Голосов пока нет! Будьте первым, кто оценит этот пост.

Предыдущая статья

[2022] Best Watermark Software On Windows Описание: Концепция согласованности кэша может быть для вас относительно новой, но это относительно важная концепция компьютерной области. Итак, сегодня это ...

Следующая статья

Best Online OCR Software on Windows/iOS/Android Описание: Концепция согласованности кэша может быть для вас относительно новой, но это относительно важная концепция компьютерной области. Итак, сегодня это ...

О восстановлении данных Bitwar

3 шага, чтобы вернуть более 500 видов удаленных, отформатированных или потерянных документов, фотографий, видео, аудио, архивных файлов из различных сценариев потери данных.

Узнать подробнее

Горячие статьи

    Статьи по Теме