2Q

advertisement
2Q Algorithms
Fall 2004 CS 186
Review Session for hw1
9/13/04
Your ever friendly TA’s
Paul Huang <cs186-ta@imail.eecs>
Matt Denny <cs186-tb@imail.eecs>
Murali Rangan <cs186-tc@imail.eecs>
Overview
•
•
•
•
•
LRU - Disadvantages
2Q – Enhanced LRU
Simplified 2Q
Full 2Q
Q&A
LRU - Disadvantages
• Locality of reference
– Same pages referred frequently (warm pages)
– Example: 2, 1, 3, 2, 4, 2, 4, 1, 5, 6, 2, …
• LRU takes advantage of this.
• Disadvantage:
– Dislodges warm pages if a long sequence of
one time page references occur.
• In the above ex, page 2 may get dislodged by the
access pattern …, 4, 1, 5, 6, …
2Q – Enhanced LRU
• 2Q is enhancement over LRU
• Manages pages in 2Q’s (FIFO and LRU)
• Aims to retain warm pages as long as
possible
• Two variations
– Simplified 2Q
– Full 2Q
• Efficient compared to LRU-2, GClock,etc
– LRU-2, GClock - beyond the scope of this discussion
Simplified 2Q
• Pages in 2 queues (FIFO and LRU)
• If a requested page
– Is in FIFO (A1) => Move it to LRU head
– Is in LRU (Am) => Move it to LRU head
– If page fault
• If free frame available, occupy it and add it to FIFO
• Elif FIFO size > threshold (50% pool size)
– Then first item in FIFO is victim
• Else remove the tail item LRU, but add new page
to FIFO (New pages ALWAYS go to FIFO)
Simplified 2Q (contd…)
Simplified S2Q (contd…)
Simplified 2Q (contd…)
• Correlated references
– A page receives several references for a short
time and no references for a long time
• Ex: 2, 3, 4, 1, 6, 7, 7, 6, 4, 4, 2, 3, 2, 2, 3,12, 15, …
• Disadvantages
– Evicts long term warm pages (ex 2, 3) to make
room for short term correlated pages (ex 6, 7)
Simplified 2Q (contd…)
• About the tuning threshold (chosen as 50%)
– FIFO queue grows in spite of threshold as
long as there are free frames.
– FIFO threshold is checked only if there is a
page fault and no free frames.
– Larger the threshold => Greater the chance
for FIFO to remain longer
– Longer the FIFO => Greater the chance for
some page in it to be re-referenced and
promoted to LRU
Simplified S2Q
• About threshold (contd…)
• The immediateness of re-referencing a page plays
higher factor in promotion to LRU than total number of
repetitions.
• Ex: 2, 3, 3, 4, 4, 2, 5, 5, 7, 6, 2, 6, 7, 6, 8, 2
– The chance for pages making it to LRU are:
– (3, 4, 5) > (6) > (7) > (2) > 8
• 3, 4, and 5 have highest chance because of the immediateness of
their re-reference, even though they are only short term and
referred only twice each.
• 6 has lesser chance than (3, 4, 5) because the page re-reference is
not as immediate as 3, 4, 5, even though it gets referred more.
• Same argument for pages 7 and 2.
– Threshold is the factor in determining how farther apart rereferenced pages will make it to LRU
– But higher threshold also means smaller LRU as downside!
Full 2Q
• Addresses Correlated references
• Pessimistic on re-referenced FIFO pages
– Retains them in FIFO (A1in) itself
• Remembers page ids of victimized FIFO
pages as history (A1out – FIFO of page ids)
• Puts a page in LRU only if it is seen in
history list (A1out)
• A1out max size is 50% of pool size
• A1in threshold is 25% of pool size
F2Q (contd…)
• If a requested page
– Is in FIFO (A1in) => Do nothing (corr. ref.!)
– Is in LRU (Am) => Move it to LRU head
– If page fault
• If free frame available, occupy it and add it to FIFO
• Elif FIFO size > threshold (25% pool size)
– Then first item in FIFO is victim,
» Add page id of victim in A1out (50% pool size)
• Else remove the tail item LRU, but add new page to
FIFO (New pages ALWAYS go to FIFO)
Full 2Q (contd…)
Full 2Q (contd…)
3, 1
3, 1
Q&A
Download