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

11
Алгоритмы замещения Кривых Алексей [email protected] Зольников Павел [email protected] Самунь Виктор [email protected] IT Summer SPb 2012 13.07.2012

description

Алгоритмы замещения. Кривых Алексей [email protected] Зольников Павел [email protected] Самунь Виктор [email protected] IT Summer SPb 2012 13.07.2012. Оптимальный алгоритм ( алгоритм Белади ). Вытеснять те сегменты, которые не понадобятся дольше всего Идеальный оракул. - PowerPoint PPT Presentation

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

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

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

Кривых Алексей [email protected]Зольников Павел [email protected]

Самунь Виктор [email protected]

IT Summer SPb 201213.07.2012

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

Оптимальный алгоритм (алгоритм Белади)

• Вытеснять те сегменты, которые не понадобятся дольше всего

• Идеальный оракул

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

LRU• Least Recently Used• Вытесняем сегмент, который не

использовался дольше всего• , где - количество страниц,

замещенных LRU, B – размер кэша, a-константа

• Недостаток: Использует слишком мало информации

aBrr optLRU LRUr

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

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

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

LFU

• LFU – Feast Frequently Used• Вытесняем элемент, к которым обращались

меньше всего раз• Недостаток: Имеет тенденцию хранить

страницы, которые были популярны в прошлом.

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

LRU/K

• LRU/1 = LRU• Преимущества– Использует больше информации, чем LRU, при

K >1– Основан на понятии «старение»,

учитывающем, только последние K обращений• Недостаток: – Cложность– Необходим вспомогательный алгоритм для

неопределенного случая

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

Backward K-distance• Имеем к моменту времени t строку

запросов • , если , и было в

точности K-1 значений i, таких, что где

• , если p не появлялось K раз в строке

xKpbt ),( pr xt

trrr ,...,, 21

tixt pri ),( Kpbt

trrr ,...,, 21

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

LRU/K замещение

• В качестве жертвы выбираем сегмент, для которого максимальное

• Неопределенная ситуация возникает, если сегментов с больше одного, в этом случае необходимо использовать вспомогательный алгоритм

),( Kpbt

),( Kpbt

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

2Q

• 2Q – 2 Queue• Как и LRU/K имеет тенденцию оставлять

только популярные страницы• Как утверждает Theodore Jonson из

университета Флорида, работает также хорошо, как и LRU/K

• Ain(25% ) – FIFO, Am-LRU, Aout(50%)-FIFO

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

2Q • If (X ϶ Am) then

pushToHead(X, Am)else if(X ϶ Aout) then

pushToHead (X, Am)else if (X ϶Ain)else

pushToHead(X, Ain)pushToHead(V, Aout)

end if• Где X – запрашиваемая страница, V - жертва

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