Using Access Probabilities In Address Lookups - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Using Access Probabilities In Address Lookups

Description:

Title: Context Author: Jim Washburn Last modified by: washburn Created Date: 6/1/2003 3:50:05 AM Document presentation format: On-screen Show Other titles – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 24
Provided by: JimWas7
Learn more at: http://web.stanford.edu
Category:

less

Transcript and Presenter's Notes

Title: Using Access Probabilities In Address Lookups


1
Using Access Probabilities In Address Lookups
  • Jim Washburn Katerina Argyraki
  • EE384Y Class Project

2
Access probabilities are not uniform
  • Lookup table contains set of keys Ki
  • Access probabilities Pi
  • Access times Ai
  • Avg access time
  • Ei ?i AiPi

3
Where is accounting info stored?
  • Per key
  • Per nexthop

4
Lookup table operations
  • add(key)
  • delete(key)
  • search(key)
  • compile( )
  • When to compile?
  • What happens to searches while compiling ?
  • How long to maintain accounting info?

5
Approach to the problem
  • Amortize the optimization
  • Incrementally optimize at search time
  • Perform optimization step with low probability
    per access
  • keeps cost low!

6
Base structure BST on intervals
  • Can do prefix matches or exact matches
  • Allows many different tree configurations for the
    same set of keys
  • can be dynamically reconfigurable
  • Permits localized incremental operations
  • affect just two nodes

7
BST rotation operation
z
z
right
y
x
left
x
y
C
A
B
A
C
B
Only nodes x and y are written
8
Self-adjusting heuristics
  • single rotation on every access
  • too conservative?
  • move-to-root on every access
  • too aggressive?
  • move-up on every access
  • middle ground solution
  • but how many nodes?

9
Low-cost heuristics
  • single rotation with low probability p
  • decrease the amount of writes
  • move-to-root with probability proportional to
    node depth
  • favor nodes that are deep down the tree
  • move-up with counters
  • per node counter keeps of hits
  • a node is never moved above another node with
    higher counter

10
BST as Markov Chain
  • Tree can be in any of its possible
    configurations, with probabilities given by the
    stationary distribution.


11
Markov calculations (1)
Optimal Single Rotation Move to Root
Expected Access time 1.3283 1.4643 1.4633
Expected time to first passage to optimal NA 59.9 39.7
Done with 60 randomly selected access
distributions, for a 3 node tree Probability of
optimization step set to 0.1
12
Markov Calculations (2)
13
Simulation results (1)
  • Scenario 1 99 hit on 7 rules
  • .5, .25, .12, .6, .3, .1
  • Average performance (the good news)

avg OPT SR MTR SRR MTRR MUP
accesss 4.56 10.35 9.38 7.62 5.1 5.87
reads 4.56 9.21 4.82 7.51 4.95 5.7
writes 0 1.13 4.55 0.11 0.15 0.16
14
Simulation results (2)
  • Scenario 1 99 hit on 7 rules
  • .5, .25, .12, .6, .3, .1
  • Worst-case performance (the bad news)

worst OPT SRR MTRR MUP
accesss 12 57 42 35
reads 12 57 21 31
writes 0 2 21 14
15
Simulation results (3)
  • Scenario 2 60 hit on 12 rules
  • .13, .09, .06, .05, .04, .03, .02, .01, .01, .01
  • Average performance

avg OPT SRR MTRR MUP
accesss 6.79 14.93 7.6 7.6
reads 6.79 14.75 7.34 7.37
writes 0 0.17 0.26 0.23
16
Simulation results (4)
  • Scenario 2 60 hit on 12 rules
  • .13, .09, .06, .05, .04, .03, .02, .01, .01, .01
  • Worst-case performance

worst OPT SRR MTRR MUP
accesss 10 74 42 29
reads 10 72 22 25
writes 0 2 21 14
17
Simulation results (5)
  • Scenario 3 uniform distribution
  • The worst-case for our heuristics!
  • Average performance

avg OPT SRR MTRR MUP
accesss 7 22.85 9.32 9.61
reads 7 22.65 8.97 9.3
writes 0 0.2 0.34 0.31
18
Simulation results (6)
  • Scenario 3 uniform distribution
  • The worst-case for our heuristics!
  • Worst-case performance

worst OPT SRR MTRR MUP
accesss 9 62 40 32
reads 9 61 22 22
writes 0 2 20 16
19
Bounding the tree depth
  • Check before moving a node
  • If move will increase depth beyond max, dont do
    it
  • How to check?
  • Keep extra info per node e.g., node depth
  • Must not introduce extra accesses for
    maintenance!
  • Impossible with single rotation or move up ?

20
MTRR with bounded worst-case
  • Augmented BST
  • Each node knows
  • the depth of its longest branch on the left
  • the depth of its longest branch on the right
  • Rotating a node up, requires updating all its
    ancestors up to the root
  • With move-to-root we do that anyway ?

21
Simulation results (1)
  • Scenario 1 99 hit on 7 rules
  • .5, .25, ,12, .6, .3, .1
  • Average performance

avg OPT MTRR MTRB
accesss 4.56 5.1 6.47
reads 4.56 4.95 6.24
writes 0 0.15 0.23
22
Simulation results (2)
  • Scenario 1 99 hit on 7 rules
  • .5, .25, ,12, .6, .3, .1
  • Worst-case performance

worst OPT MTRR MTRB
accesss 9 42 40
reads 9 22 20
writes 0 21 20
23
Conclusions
  • We can optimize without having to maintain
    per-key accounting state, or periodically
    recompiling the entire data structure.
  • Average access time results comparable to
    compiled results, which are close to lower bound
    which is determined by entropy.
  • Worst case results not as good, need more
    heuristics to bound the tree depth
Write a Comment
User Comments (0)
About PowerShow.com