Approximating the Optimal Replacement Algorithm Ben Juurlink - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Approximating the Optimal Replacement Algorithm Ben Juurlink

Description:

Small reduction of the miss rate will pay for the cost of advanced replacement algorithm ... Experiments Miss Rate Reduction. TNRP incurs fewer misses than ... – PowerPoint PPT presentation

Number of Views:34
Avg rating:3.0/5.0
Slides: 14
Provided by: john788
Category:

less

Transcript and Presenter's Notes

Title: Approximating the Optimal Replacement Algorithm Ben Juurlink


1
Approximating the Optimal Replacement
AlgorithmBen Juurlink
2
Plan
  • Motivation
  • LRU and OPT algorithms
  • Related work
  • TNRP algorithm
  • TNRP tuning
  • TNRP comparison with LRU and OPT

3
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

4
LRU Algorithm
  • LRU Replaces the page that hasnt 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
  • LRUs miss rate 100
  • OPTs miss rate 40
  • LRU-2 replaces the page whose second to last
    access is least recent

5
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

6
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

7
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 StateSteady
  • current_time current_time TLAST(p) if
    StateTransient

8
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

9
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

10
Time of Next Reference PredictorEXP-TNEXT (p) -
solution
  • If the page hasnt been accessed before or the
    state is transient then
  • EXP-TNEXT(p) current_time TF (current_time
    TLAST(p))
  • TFgt1
  • If the page hasnt been accessed within the
    expected time current_time gt TLAST(p) STRIDE(p)
    SD, use the above formula for EXP-TNEXT(p) and
    return its state to Transient
  • In our example, take TF2
  • 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

11
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

12
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 1lt TF lt 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

13
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
Write a Comment
User Comments (0)
About PowerShow.com