Санкт-Петербургский Государственный Университет Математико-механический факультет Кафедра системного программирования Отзыв научного руководителя на выпускную квалификационную работу студента 444 группы Толстопятова Всеволода Задача кэширования больших объёмов данных в настоящее время становится всё более актуальной вследствие экспоненциального роста приложений, оперирующих видеофайлами или иными крупными информационными объектами. В этом случае традиционные подходы к кэшированию не приводят к существенному выигрышу в производительности, так как данные существенно превышают размер доступной оперативной памяти. В первой части работы Всеволод делает обзор наиболее популярных алгоритмов кэширования и оценивает их применимость как в общем случае, так и в частном случае использования для кэширования жёсткого диска. Предлагается двухуровневый кэш, в котором более свежие данные вытесняются по алгоритму LRU, а более старые – по Segmented LRU. Затем Всеволод предлагает свой способ для определения данных, которые можно вытеснить из области новых данных в область старых, на основе затухающего фильтра Блума с подсчётом, что является адекватным подходом к решению этой задачи. Предлагаются оптимизации указанного алгоритма, направленные на повышение производительности записи. Производится оценка по памяти используемых структур данных и делается вывод о её приемлемости. Затем на тестовом стенде сравниаются различные алгоритмы кэширования, и показывается, что предлагаемый алгоритм ведёт себя лучше по сравнению с ранее описанными в литературе. Отдельного упоминания заслуживает реализация Всеволодом собственного диспетчера по управлению памятью, а также тестового стенда по сравнению различных алгоритмов кэширования, который благодаря модульной архитектуре позволяет легко заменить одну реализацию алгоритма другой и использовать различные планы тестирования. К недостаткам работы можно отнести лишь отдельные орфографические ошибки, не снижающие общего впечатления от работы и не умаляющие достигнутых результатов. Работа не содержит неправомерных заимствований. Среди личных качеств Всеволода как исследователя хочется отметить самостоятельность при принятии решений, ответственность, глубокое понимание исследуемой области, а также техническую грамотность. Выполненная работа заслуживает оценки «отлично», а Всеволоду рекомендуется продолжить обучение в магистратуре. Научный руководитель: старший преподаватель кафедры системного программирования СПбГУ Сартасов С.Ю.