📊 Статистика дайджестов
Всего дайджестов: 34123 Добавлено сегодня: 0
Последнее обновление: сегодня
Авторы:
Aayush Gupta, Arpit Bhayani
#### Контекст
Современные веб-прокси, такие как NGINX, широко используются для оптимизации производительности интернет-ресурсов. Одной из ключевых задач этих систем является эффективное управление кэшем. Однако существующие методы управления кэшем, такие как метод наименее недавно использованных (LRU), часто сталкиваются с проблемами при обработке периодических потоков, разномасштабных объектов и ситуаций, когда объекты в кэше часто меняются. Эти проблемы приводят к понижению производительности и неэффективному использованию памяти. Необходимость в более гибких и эффективных стратегиях управления кэшем побудила разработку новых подходов, основанных на искусственном интеллекте и машинном обучении.
#### Метод
Для решения этой проблемы предлагается Cold-RL, новая стратегия управления кэшем, основанная на оффлайн-обучении с помощью резерентного градиентного сетевого сетевого алгоритма. Cold-RL использует ограниченный набор легковесных признаков, таких как возраст объекта, размер, число попаданий, время между появлениями, оставшийся TTL и время ответа на запрос, для принятия решений. Эти признаки эффективно захватывают ключевые аспекты характера трафика. Обучение происходит вне-живучего, используя реальные логи трафика NGINX, в которых каждое решение о выборе объекта для удаления получает награду в зависимости от его последующего использования. Требования к времени выполнения решения привели к разработке особых ограничений на производительность. Например, решение должно быть принято за менее 500 микросекунд, чтобы не влиять на общую производительность NGINX.
#### Результаты
Опытные испытания показали, что Cold-RL значительно повышает производительность кэша NGINX по сравнению с традиционными методами. На бенчмарке с 25 MB кэша, Cold-RL повысил уровень попаданий (hit ratio) с 0.1436 до 0.3538, что составляет приблизительно 146% рост по сравнению с наиболее эффективными классическими методами. На более крупных кэшах (100 MB), где LRU уже дает приемлемый результат, Cold-RL все равно повысил hit ratio на 15%. Интересно, что на больших кэшах (400 MB), Cold-RL стал сопоставим с классическими методами, достигая уровня примерно 0.918. Более того, время работы решения Cold-RL занимает менее 2% от общего времени обработки запросов, и 95-й перцентиль задержки вытеснения (eviction) остается в границах SLO.
#### Значимость
Заключенные результаты демонстрируют, что Cold-RL может быть успешно применен в средах с требованиями к высокой производительности и малым ограничениям времени. Он предлагается как более эффективно
Annotation:
Web proxies such as NGINX commonly rely on least-recently-used (LRU)
eviction, which is size agnostic and can thrash under periodic bursts and mixed
object sizes. We introduce Cold-RL, a learned eviction policy for NGINX that
replaces LRU's forced-expire path with a dueling Deep Q-Network served by an
ONNX sidecar within a strict microsecond budget. On each eviction, Cold-RL
samples the K least-recently-used objects, extracts six lightweight features
(age, size, hit count, inter-arrival time, re...