approximating the optimal replacement algorithm ben juurlink

13
Approximating the Optimal Replacement Algorithm Ben Juurlink

Upload: meagan

Post on 06-Jan-2016

33 views

Category:

Documents


0 download

DESCRIPTION

Approximating the Optimal Replacement Algorithm Ben Juurlink. Plan. Motivation LRU and OPT algorithms Related work TNRP algorithm TNRP tuning TNRP comparison with LRU and OPT. Motivation. It takes millions of cycles to serve a page fault - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Approximating the Optimal Replacement Algorithm Ben Juurlink

Approximating the Optimal Replacement Algorithm

Ben Juurlink

Page 2: Approximating the Optimal Replacement Algorithm Ben Juurlink

Plan

• Motivation

• LRU and OPT algorithms

• Related work

• TNRP algorithm

• TNRP tuning

• TNRP comparison with LRU and OPT

Page 3: Approximating the Optimal Replacement Algorithm Ben Juurlink

Motivation

• It takes millions of cycles to serve a page fault

• Small reduction of the miss rate will pay for the cost of advanced replacement algorithm

Page 4: Approximating the Optimal Replacement Algorithm Ben Juurlink

LRU Algorithm

• LRU: Replaces the page that hasn’t been used for the longest time• The optimal algorithm (OPT) evicts the page that will not be used for

the longest time• LRU approximates OPT• At times LRU is far from optimal:

– 4 page frames

– 1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5…

– LRU’s miss rate: 100%

– OPT’s miss rate: 40%

• LRU-2: replaces the page whose second to last access is least recent

Page 5: Approximating the Optimal Replacement Algorithm Ben Juurlink

Related work: Fiat and Rosen Algorithm

• Dynamically build weighted access graph• An edge is created the first time the two pages are requested in

succession• Each time the edge is traversed, the weight is decreases by a

constant factor• “Forgetfulness”: the weight of all edges multiplied by a constant

factor every 10n pages accesses• The page to be evicted on a page fault: the furthest page from the

page just accessed• Expensive algorithm

Page 6: Approximating the Optimal Replacement Algorithm Ben Juurlink

Time of Next Reference Predictor

• Three parameters recorded for each page:– TLAST(p) = time of last reference– STRIDE(p) = # of page accesses between the last

and previous to last reference– State:

• Transient initially• Steady when

– STRIDE(p) – SD ≤ STRIDEcurr(p) ≤ STRIDE(p) + SD

(SD = Stride Deviation)

– Time – consecutive accesses to one page replaced by one

Page 7: Approximating the Optimal Replacement Algorithm Ben Juurlink

Time of Next Reference Predictor

• On a page fault:– Replace a page with the largest expected time of next

reference EXP-TNEXT(p)– EXP-TNEXT(t)=

• TLAST(p) + STRIDE(p) if State=Steady• current_time + [current_time – TLAST(p)] if

State=Transient

Page 8: Approximating the Optimal Replacement Algorithm Ben Juurlink

Time of Next Reference Predictor-Example

• Reference String: 1 4 1 1 6 1 1 4 4 6 6 • SD = 2

• Time: 0 1 2 3 4 5 6• Page: 1 4 1 6 1 4 6• Stride: 0 0 2 0 2 4 3 • State: T T S T S T T

Page 9: Approximating the Optimal Replacement Algorithm Ben Juurlink

Time of Next Reference Predictor

• A correction is needed for EXP-TNEXT (p)– 1,2,3,4,5,6,7,8,9,5,11,12,13,14,5,16,17,18,19,5,…– 3 pages can be kept in memory – STRIDE(5)=5– At time 16

• 13,14 and 5 are in memory• EXP-TNEXT(5) = 15 + 5 = 20• EXP-TNEXT(13) = 16 + (16 – 13) = 19• EXP-TNEXT(14) = 16 + (16 – 14) = 18

– Page 5 will be evicted

Page 10: Approximating the Optimal Replacement Algorithm Ben Juurlink

Time of Next Reference Predictor:EXP-TNEXT (p) - solution

• If the page hasn’t been accessed before or the state is transient then – EXP-TNEXT(p) = current_time + TF * (current_time – TLAST(p))– TF>=1

• If the page hasn’t been accessed within the expected time current_time > TLAST(p) + STRIDE(p) +SD, use the above formula for EXP-TNEXT(p) and return its state to Transient

• In our example, take TF=2– EXP-TNEXT(5) = 15 + 5 = 20– EXP-TNEXT(13) = 16 + 2 * (16 – 13) = 22– EXP-TNEXT(14) = 16 + 2 * (16 – 14) = 20

• 13 will be evicted

Page 11: Approximating the Optimal Replacement Algorithm Ben Juurlink

Implementation Issues

• How to find a victim page– Priority queue (priority = EXP-TNEXT(p))

• Takes O(log n) to find a victim page• But it takes O(log n) to update the queue

– Updates occur frequently

– Scan all the paged in pages on a page fault

Page 12: Approximating the Optimal Replacement Algorithm Ben Juurlink

Experiments - Parameters

• Benchmarks from the SPEC 2000 suite• Stride Deviation:

– Investigate the distribution of |STRIDEcurr – STRIDEprev|

– The distribution depends on benchmark– SD of 5 captures over 60% of all stride values

• Time of next reference Factor – Check the miss rate for 1<= TF <= 3 with 4 and 8 page frames– Performance rather independent of the exact values

• 4 page frames, the difference is at most 5%

• 8 page frames, the difference is at most 0.8%

• For some benchmarks the miss rate decreases as TF increases

• For other, it decreases and then increases

– Optimal value between 2 and 2.75

Page 13: Approximating the Optimal Replacement Algorithm Ben Juurlink

Experiments – Miss Rate Reduction

• TNRP incurs fewer misses than LRU for almost all benchmarks– 4 page frames

• Improvement: Avg: 13.5%, range from 6% to 28.2%

– 8 page frames• Improvement: Avg: 4%, 20.7 for one benchmark

– 16 page frames• Improvement less than 1% for 7 out of 9 benchmarks

• Double the number of misses for 1 benchmark

• Performance improvement significant when # of pages is small– Works best in multi-tasking environment when the physical memory needs to be

shared among several processes

• TNRP outperforms LRU-2 for most workloads and number of pages