Алгоритмы кэширования данных и их эффективность
Автор: Пользователь скрыл имя, 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
Файлы: 4 файла
Курсовая работа.docx
— 413.90 Кб (Скачать)Для определения эффективности алгоритма необходимо провести анализ. Эффективность определяется средним количеством попаданий при различных наборах (обращения процессора).
Для этого берем 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), так как при нём наблюдается самое
большое число попаданий.
Список использованной литературы
- Олифер В.Г., Олифер Н.А. Сетевые и операционные системы. – СПб.: Питер, 2001.
- Петцольд Ч. Программирование для Windows 95. – том 1,2. – СПб.: Русская редакция, 1997.
- Таненбаум Э. Современные операционные системы. – СПб.: Питер, 2006.
- Свободная
энциклопедия Википедия [Электронный
ресурс]: Алгоритмы кэширования – M., 2010
– Режим доступа: http://ru.wikipedia.org/wiki/
LRU#Least_Recently_Used_.28. - Загл. с экрана.D0.A0.D0.B5.D0.B4.D0.BA.D0.BE. D0.B8.D1.81.D0.BF.D0.BE.D0.BB. D1.8C.D0.B7.D1.83.D0.B5.D0.BC. D1.8B.D0.B9_.D1.8D.D0.BB.D0. B5.D0.BC.D0.B5.D0.BD.D1.82.29