Эффективный и в то же время простой алгоритм позволяет решать, какие элементы выбросить из веб-кэша, чтобы освободить место для новых. Новый алгоритм с открытым исходным кодом SIEVE обладает потенциалом для масштабного преобразования управления веб-трафиком.
Кэш подобен хорошо организованному хранилищу компьютерных данных. Он заполнен копиями наиболее популярных объектов, запрашиваемых пользователями. Он поддерживает эту небольшую коллекцию объектов отдельно от основной базы данных компьютерной сети, которая похожа на огромное хранилище, заполненное всей информацией. Кэширование позволяет сетевой операционной системе работать более эффективно, быстро отвечая на запросы пользователей.
Быстрая память для кэша обходится дорого, но имеет решающее значение для удобства работы веб-пользователей. Цель состоит в том, чтобы сохранить в кэше наиболее полезную информацию. Другие объекты должны постоянно отсеиваться, чтобы освободить место. Алгоритмы удаления кэша определяют, какие объекты выбрасывать и когда это делать.
Подобно LRU и некоторым другим алгоритмам, SIEVE позволяет просто настроить базовую схему FIFO. SIEVE изначально помечает запрошенный объект как пустой или нулевой. Если объект запрашивается снова по мере продвижения вниз по ленте, его статус меняется на единицу. Когда объект с пометкой единица доходит до конца строки, он автоматически сбрасывается в ноль и удаляется. Указатель, или движущаяся рука, также сканирует объекты по мере их перемещения по линии. Указатель начинается с конца линии, а затем переходит к началу, двигаясь непрерывно по кругу. Всякий раз, когда указатель попадает на объект с надписью ноль, объект удаляется.
Важно удалять непопулярные объекты как можно быстрее, и SIEVE очень быстро справляется с этой задачей. Это совместный проект специалистов из Университета Эмори и Университета Карнеги-Меллона.