Участник:Vlad SG
Версия от 01:41, 27 января 2022; Vlad SG (обсуждение | вклад)
Содержание
Формулировка
Пусть задана последовательность запросов к внешней памяти. Необходимо решить для каждого запроса: сохранить его значение в кэш размера
или оставить его во внешней памяти.Основные определения
Определение: |
Кэш попадание (англ. cache hit) — результат обрабатываемого запроса уже хранится в кэше и его можно вернуть мгновенно. Будем считать, что время обработки такого запроса равно 0. |
Определение: |
Кэш промах (англ. cache miss) — результат обрабатываемого запроса отсутствует в кэше и чтобы его получить необходимо обращаться к внешней памяти. При получении ответа мы так же можем сохранить новое значение в кэш, вытеснив(удалив) некоторое старое. Будем считать, что время обработки такого запроса равно 1. |
Определение: |
Временем работы алгоритма кэширования будем называть количество кэш промахов случившихся при обработке всех запросов. |
При анализе случайных алгоритмов будем использовать матожидание количества кэш промахов при всех возможных случайных выборах, но для фиксированной последовательности запросов.
Определение: |
Онлайн алгоритм (англ. on-line algorithm) — алгоритм, который при обработке запроса не знает следующих запросов. |
Определение: |
Оффлайн алгоритм (англ. off-line algorithm) — алгоритм, которому на вход даются все запросы сразу. |
Определение: |
-оптимальность — свойство онлайн алгоритма, означающее что время работы этого алгоритма на любых входных данных не более чем в раз больше, чем у любого оффлайнового, с точностью до аддитивной константы. |
Ограничение детерминированных алгоритмов
Теорема: |
— размер кэша. Любой -оптимальный детерменированный алгоритм кэширования имеет . |
Доказательство: |
Чтобы показать, что Теорема доказана. , достаточно для каждого алгоритма предоставить одну такую последовательность запросов, при которой |