Skip to content
This repository has been archived by the owner on Feb 10, 2023. It is now read-only.

ZVasilii/Caches

Repository files navigation

Caches

Приветствуем на странице нашего проекта!

Цель нашего проекта: реализация одной из стратегий кэширования - ARC

ARC - Adaptive Replacement cache Подробнее можете почитать в данной статье:

http://theory.stanford.edu/~megiddo/pdf/IEEE_COMPUTER_0404.pdf

Авторы проекта: Студенты 1 курса ФРТК:

Александр Латиков
Сергей Кошелев
Зайцев Василий

Дата разработки: Май 2020 г.

Краткий обзор файлов, составляющих наш проект:

dl_list.h и dl_list.c - функции и вспомогательные структуры для структуры "Лист"
dl_list_test.c - Тестирующая система для списка
dl_cells.c - функции и вспомогательные структуры для структуры "Ячейка списка"
dl_cell_test - тестирующая система ячеек списка
ARC.c и ARC.h - Основной алгоритм "Эмуляция кэша ARC"
pages.h - Хедер с константами и основными структурами
main_test.c - Тестирующая система, пользовательский интерфейс, вывод данных для анализа
ARC_readme.txt - подробнее о том, что происходит в ARC
dl_list_readme.txt - подробнее о том, как использвать функции dl_list
colors.h - Хедер с материалами для изменения цвета текста в консоли
LICENSE - Лицензия  GNU GENERAL PUBLIC LICENSE
b-script - bash-script, который добавляет все ненужное в .gitignore

Используемые константы:

MEM_SIZE = Размер памяти (В страницах)
REQ_SIZE = Количество запрашиваемых страниц (В страницах)
DATA_SIZE = Размер "Псевдо-данных" в одной странице (байт)
CACHE_SIZE = Размер кэша (В страницах)
FAST = Режим запроса страниц, используя кэш
SLOW = Режим запроса страниц, минуя кэш, напрямую из памяти
MEM_DELAY = Исскуственная задержка при доступе в память (В миллисекундах)
CACHE_DELAY = Исскуственная задержка при доступе в кэш (В миллисекундах)

Использование: Исполните комманду make options:

contest - Для тестирования в контестном режиме (HW8)
min - Вывод без печати страниц
normal - Вывод в "каноничном" виде
debug - Вывод с отладочной информацией

Флаги условной компиляции и их значения:

-DDELAY - Добавляет искусственную задержку при доступе в память/кэш MEM_DELAY и CACHE_DELAY
-DTIME - Добавляет подсчет времени на запросы
-DPRINT - Добавляет печать запрошенных страниц в консоль
-DPRINT_REQ - Добавляет печать вспомогательной информации при кэшировании (Содержимого списков, индикатор CACHE MISS)
-DSTATS - Добавляет печать информации о состоянии констант для последующего анализа
-DCOLORS - Раскрашивает скучную жизнь в яркие цвета (Работает в Linux only)
-DCELL_TEST - подключает функцию тестирования ячеек списка
-DLIST_TEST - подключает функцию тестирования списка

Будем рады отзывам о багах/ошибках

Приятного использования!

About

Searching for best cache strategy

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •