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

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

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

Overview

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

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

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

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

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

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

Определение

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

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

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

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

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

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

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

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

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

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

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

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

 

 

How useful was this post?

Click on a star to rate it!

Average rating 4.8 / 5. Vote count: 5

No votes so far! Be the first to rate this post.

Previous Article

Лучшее программное обеспечение для водяных знаков в Windows! Описание: Концепция согласованности кэша может быть для вас относительно новой, но это относительно важная концепция компьютерной области. Итак, сегодня это ...

Next Article

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

About Bitwar Data Recovery

3 Steps to get back 500+ kinds of deleted, formatted or lost documents, photos, videos, audios, archive files from various data loss scenarios.

Learn More

Hot Articles

    Related Articles