Оглавление
Политики замены кэша
-
Основы кэширования
- Кэширование улучшает производительность за счет хранения часто используемых данных в оперативной памяти.
- Кэширование может быть статическим (неизменным) или динамическим (изменяемым).
-
Алгоритмы кэширования
- LRU (Least Recently Used) – наиболее распространенный алгоритм, удаляющий наименее недавно использованные данные.
- LFU (Least Frequently Used) – удаляет данные с наименьшей частотой использования.
- FIFO (First In First Out) – удаляет данные, добавленные первыми.
- LIRS (Low Interreference Recency Set) – улучшает LRU, используя новизну для оценки межреферентной новизны.
- BBRIP (Bimodal Replacement with Inverted Priority) – сочетает SRRIP и BRRIP для улучшения производительности.
- DRRIP (Dynamic Replacement with Set Dueling) – выбирает между SRRIP и BRRIP на основе производительности.
-
Политики кэширования
- Соколиный глаз (Hawkeye) – эмулирует алгоритм Белади, предсказывая будущие расстояния повторного использования.
- Сойка-пересмешница (Jayhawk) – улучшает Соколиного глаза, используя более детальные решения и машинное обучение.
- Другие политики, включая использование персептронов и цепей Маркова.
-
Дополнительные алгоритмы и методы
- LIRS – алгоритм замены страниц с высокой производительностью.
- Адаптивная замена кэша (ARC) – балансирует между LRU и LFU для улучшения результатов.
- Часы с адаптивной заменой (CAR) – сочетают преимущества ARC и Clock.
- Алгоритм замены нескольких очередей (MQ) – для повышения производительности серверного буферного кэша.
- Pannier – механизм флэш-кэширования на основе контейнеров.
- Статический анализ – для определения наихудшего времени выполнения программы.
-
Рекомендации и внешние ссылки
- Ссылки на определения различных алгоритмов кэширования и для флэш-памяти/твердотельных накопителей.
Полный текст статьи: