Google представил эластичное кэширование для снижения затрат на облачные сервисы

Google представил эластичное кэширование для снижения затрат на облачные сервисы

Google представил новый метод управления кэшем — линейное эластичное кэширование. Он снижает общую стоимость владения кэш-памятью за счет динамической регулировки ее размера в зависимости от текущей нагрузки.

Традиционные системы кэширования используют фиксированный объем памяти. Это приводит к неэффективному использованию ресурсов: малый кэш снижает производительность, а большой — увеличивает расходы из-за простоя памяти.

Новый подход Google рассматривает память как услугу, стоимость которой линейно зависит от объема кэшируемых данных и времени их хранения.

В основе метода лежит концепция, похожая на «проблему аренды лыж». Система решает: «арендовать» место для данных в оперативной памяти, постоянно оплачивая ее, или «купить» промах, выгрузив данные и рискуя задержкой при повторном запросе.

Алгоритм оптимизирует политику вытеснения и продолжительность «аренды» данных.

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

Интеграция линейного эластичного кэширования в серверы Spanner, распределенной базы данных Google, показала результаты: использование памяти сократилось на 15,5%, а общее количество промахов кэша увеличилось на 5,5%.

Общая стоимость владения снизилась примерно на 5%. Увеличение промахов пришлось на данные, которые дешево извлекать из хранилища, что минимизировало влияние на фактические затраты ввода-вывода.