Приветствуем на странице нашего проекта!
Цель нашего проекта: реализация одной из стратегий кэширования - 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 - подключает функцию тестирования списка
Будем рады отзывам о багах/ошибках
Приятного использования!