1 / 11

Алгоритмы замещения

Алгоритмы замещения. Кривых Алексей krivykhalexey@mail.ru Зольников Павел pasha.zolnikov@gmail.com Самунь Виктор victor.samun@gmail.com IT Summer SPb 2012 13.07.2012. Оптимальный алгоритм ( алгоритм Белади ). Вытеснять те сегменты, которые не понадобятся дольше всего Идеальный оракул.

mulan
Download Presentation

Алгоритмы замещения

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Алгоритмы замещения Кривых Алексей krivykhalexey@mail.ru Зольников Павел pasha.zolnikov@gmail.com Самунь Виктор victor.samun@gmail.com IT Summer SPb 2012 13.07.2012

  2. Оптимальный алгоритм (алгоритмБелади) • Вытеснять те сегменты, которые не понадобятся дольше всего • Идеальный оракул

  3. LRU • Least Recently Used • Вытесняем сегмент, который не использовался дольше всего • , где - количество страниц, замещенных LRU, B – размер кэша, a-константа • Недостаток: Использует слишком мало информации

  4. Random Replacement • Замещает случайно выбранный сегмент • Был реализован в ARM процессорах • Главное преимущество - простота

  5. LFU • LFU – Feast Frequently Used • Вытесняем элемент, к которым обращались меньше всегораз • Недостаток: Имеет тенденцию хранить страницы, которые были популярны в прошлом.

  6. LRU/K • LRU/1 = LRU • Преимущества • Использует больше информации, чем LRU, при K >1 • Основан на понятии «старение», учитывающем, только последние K обращений • Недостаток: • Cложность • Необходим вспомогательный алгоритм для неопределенного случая

  7. Backward K-distance • Имеем к моменту времени t строку запросов • , если , и было в точности K-1 значений i, таких, чтогде • , если p не появлялось K раз в строке

  8. LRU/K замещение • В качестве жертвы выбираем сегмент, для которого максимальное • Неопределенная ситуация возникает, если сегментов с больше одного, в этом случае необходимо использовать вспомогательный алгоритм

  9. 2Q • 2Q – 2 Queue • Как и LRU/K имеет тенденцию оставлять только популярные страницы • Как утверждает Theodore Jonson из университета Флорида, работает также хорошо, как и LRU/K • Ain(25% ) – FIFO, Am-LRU, Aout(50%)-FIFO

  10. 2Q • If (X ϶ Am) thenpushToHead(X, Am)else if(X ϶Aout) thenpushToHead (X, Am)else if (X ϶Ain)elsepushToHead(X, Ain)pushToHead(V, Aout)end if • Где X – запрашиваемая страница, V - жертва

More Related