Автор: Пользователь скрыл имя, 09 Марта 2011 в 11:30, курсовая работа
Цель исследования – выявить эффективность алгоритмов кэширования данных LRU, LFU.
Задачи исследования:
•проанализировать предметную область;
•спроектировать и реализовать программную систему для анализа эффективности алгоритмов кэширования данных LRU, LFU;
•провести сравнительный анализ эффективности алгоритмов кэширования данных LRU, LFU.
Введение 3
1.Анализ предметной области 4
1.Структура кэш-памяти и схема ее работы 4
2.Алгоритмы кэширования 5
3.Ассоциативность и принципы локальности кэш-памяти 6
4.Словарь предметной области 7
2.Проектирование архитектуры разрабатываемой системы 8
1.Иерархия классов 8
2.Блок – схемы алгоритмов 8
3.Реализация системы на языке высокого уровня 10
4.Тестирование приложения 11
5.Исследование эффективности алгоритмов 13
Заключение 17
Список использованной литературы 18
Приложение 19
Для определения эффективности алгоритма необходимо провести анализ. Эффективность определяется средним количеством попаданий при различных наборах (обращения процессора).
Для этого берем 5 различных наборов и заполняем таблицы для двух алгоритмов (табл. 1, табл. 2), где H – среднее число кэш-попаданий (, где Нi – количество попаданий при i-ом наборе), M – среднее число промахов (, где Mi – количество промахов при i-ом наборе), ∆ - процентное отношение объема кэша к объему оперативной памяти ( )
Для LRU:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Табл. 1. Результаты работы алгоритма LRU
Для LFU:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Табл. 2. Результаты работы алгоритма LFU
Рис. 13. График зависимости количества попаданий от отношения памяти
Из результатов анализа видно, что при небольшом объеме кэша, количество попаданий больше у алгоритма LRU. Следовательно, этот алгоритм является более эффективным, т. к. кэш характеризуется небольшим объемом памяти.
Далее выясним, как влияет принцип пространственной и временной локальности на эффективность. Возьмем фиксированное значение отношения памяти (∆=10%), а будем изменять P – ту часть оперативной памяти, к которой обращается процессор (Xi – количество попаданий при i-ом проценте оперативной памяти, Yi - количество промахов при i-ом проценте оперативной памяти).
Для LRU:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Табл. 3.
Результаты работы алгоритма LRU
Для LFU:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Табл. 3.
Результаты работы алгоритма LFU
Рис. 14. График количества попаданий при использовании принципа локальности
Из результатов анализа видно, что при большем объеме кэша, количество попаданий больше у алгоритма LRU. При малом же объеме, значения двух алгоритмов примерно равны.
Заключение
В ходе анализа предметной области, были изучены: основная структура кэша и схема его работы, заключающаяся в том, что, в зависимости от кэш-попадания или кэш-промаха следует быстрый или медленный ответ; алгоритмы кэширования данных и их характеристика; основные принципы локальности памяти, основанные на использовании информации, находящейся в определенной части оперативной памяти.
Была разработана программа на языке высокого уровня JAVA с использованием интегрированной среды и проведено тестирование реализованного приложения.
Рассчитана
эффективность алгоритмов кэширования
данных LRU, LFU. В результате сравнительного
анализа сделан вывод о том, что
алгоритм LRU наиболее эффективен (рис.
13,14), так как при нём наблюдается самое
большое число попаданий.
Список использованной литературы
Информация о работе Алгоритмы кэширования данных и их эффективность