Проблема согласования данных

Существование двух копий данных – в КЭШе и оперативной памяти – порождает проблему согласования данных.

Вытеснение данных из КЭШа

23. Если данные не были изменены, то нужно просто сбросить бит действительности

24. Если данные были изменены, то нужно скопировать их в основную память

2) Если во время нахождения данных в КЭШе были изменены данные в основной памяти – копия в КЭШе становится недостоверной.

Есть 2 варианта решения проблемы:

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

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

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

Детерминированный и случайный способы отображения основной памяти на кэш.

Работа с КЭШем (алгоритм поиска, алгоритм замещения) напрямую зависит от способа отображения основной памяти на кэш.

Способы бывают разные, но основное требование к отображению – ПРОЗРАЧНОСТЬ. То есть правило отображения основной памяти на кэш не должно зависеть от работы программ и пользователей, должно быть постоянным.

Широко распространены 2 основные схемы отображения:

- случайное

- детерминированное


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: