Files
nis2/project-tasks/p05-sieve.md
T
2026-09-06 19:26:12 +03:00

4.5 KiB
Raw Blame History

P05. SIEVE: простая политика вытеснения веб-кэша

  • Версия и дата проверки: 1.0, 05.09.2026.
  • Статус: готово к назначению.

Статья и исходные материалы

  • Основная статья: Yazhuo Zhang и соавт. — SIEVE is Simpler than LRU: an Efficient Turn-Key Eviction Algorithm for Web Caches. NSDI 2024.
  • Кратко о статье: Политика вытеснения веб-кэша должна одновременно давать хорошую долю попаданий и допускать дешёвую конкурентную реализацию. SIEVE использует однобитную отметку востребованности и последовательный указатель вытеснения, поэтому попадания не требуют перестройки общей структуры. Авторы показывают, что простая политика конкурентоспособна с более сложными алгоритмами. Проект проверяет этот результат на нескольких трассах и размерах кэша.
  • Почему результат актуален: авторы предлагают очень простую политику вытеснения SIEVE и показывают на веб-трассах, что она часто сочетает высокую скорость с хорошей долей попаданий.
  • Артефакты и данные: cacheMon/NSDI24-SIEVE с симулятором, прототипами и открытыми трассами. Зафиксированные ревизии: cacheMon/NSDI24-SIEVE@0861f8261c37 (Apache-2.0).

Обязательный результат

  • Проверяемый вопрос или утверждение: очень простая политика SIEVE может одновременно давать высокую пропускную способность и меньшую долю промахов, чем существенно более сложные политики, но результат зависит от следа и размера кэша.
  • Технический результат: Независимо реализовать SIEVE, LRU и ещё одну сильную политику в общем симуляторе кэша. Симулятор должен читать одинаковый формат трасс, проверять инварианты ёмкости и учёта запросов и формировать сопоставимую статистику попаданий, вытеснений и служебных операций.
  • Эксперимент: на нескольких открытых трассах сравнить SIEVE, LRU и ещё одну сильную политику по доле промахов и служебным операциям, воспроизвести часть результатов статьи и проверить чувствительность к размеру кэша.
  • Границы выводов: сравнение характеризует долю попаданий и алгоритмические накладные расходы на выбранных трассах и размерах кэша; без работающего сервера оно не подтверждает производственную пропускную способность и цену синхронизации.
  • Ресурсный профиль: локально, CPU, 8–16 ГБ памяти; можно использовать подвыборки трасс с проверкой устойчивости выводов.

Содержательные направления

  • реализации политик.
  • подготовка трасс и стенда.
  • анализ режимов, визуализация и дополнительные гипотезы.

Возможное продолжение

Искать классы нагрузок, на которых SIEVE проигрывает, исследовать влияние размера объектов или предложить небольшую модификацию без заметного усложнения.