Механизм адаптивной замены в кэше ARC (Adaptive Replacement Cache) работает за счёт отслеживания часто используемых и недавно использованных страниц, а также истории их удаления. 13
ARC делит кэш на два списка: список LRU (Least Recently Used) и список LFU (Least Frequently Used). 2 Когда требуется заменить элемент в кэше, ARC анализирует попадания и промахи кэша и адаптивно решает, какой элемент следует заменить. 2
Некоторые особенности работы механизма:
- Отслеживание истории удаления записей. 13 Для этого используются специальные списки-призраки (B1 или B2), которые прикреплены к концу двух списков. 13 Эти списки содержат только метаданные (ключи для записей), а не сами данные ресурса. 13
- Адаптация к изменениям в использовании ресурсов. 13 Алгоритм использует обращения-призраки для адаптации к недавним изменениям в использовании ресурсов. 13
- Использование памяти. 4 Если система имеет свободную оперативную память, ARC захватывает её. 4 При всяком чтении с диска ARC кэширует файл в оперативной памяти. 4
- Саморегулирование. 4 Почти во всех случаях ARC является саморегулируемым, а ручное вмешательство системных администраторов может только ухудшить производительность. 4