1 / 18

Goal-Oriented Buffer Management Revisited

Goal-Oriented Buffer Management Revisited. Kurt P. Brown, Michael J. Carey, Miron Livny Presented by Mike Nie. Agenda. Goal-Oriented Basics Criteria for Success Previous Approaches Class Fencing Experiments and Results Conclusion and Discussion. Goal-Oriented Basics.

weldon
Download Presentation

Goal-Oriented Buffer Management Revisited

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Goal-Oriented Buffer Management Revisited Kurt P. Brown, Michael J. Carey, Miron Livny Presented by Mike Nie

  2. Agenda • Goal-Oriented Basics • Criteria for Success • Previous Approaches • Class Fencing • Experiments and Results • Conclusion and Discussion

  3. Goal-Oriented Basics • This paper focus on the control of response time of a specific workload. • Knob: Disk buffer memory allocation. response time goal Target DBMS memory allocation adjustment observed response time K

  4. Goal-Oriented Memory Allocation • Definition: “For each class with an average response time goal, a memory allocation must be found such that its observed response time is as close as possible to its goal.” • How it works? • More buffer memory -> high hit rate • High hit rate -> low response time

  5. Criteria for Success - I • Accuracy • Observed average response time should be close to its goal. • Responsiveness • The number of knob adjustment to the goal should be minimum. • Stability • The variance of observed average response time should be small.

  6. Criteria for Success - II • Overhead • The controller should minimize the resource it consumes. • Robustness • The system should handle a wide range of workloads. • Practicality • Make fair assumptions about workload and DBMS in general.

  7. Goal-Oriented Buffer Allocation Manager Architecture • Response time estimator • Fn: hit rate -> est. response time • Hit rate estimator • Fn: memory allocation -> est. hit rate • Buffer allocation mechanism • A mechanism to divide up memory between workloads. • Inverse the functions to calculate buffer allocation plan. • Goal res. Time -> hit rate -> memory allocation

  8. Dynamic Tuning • Response time estimator: • Rest = (1.0-HITest(M)) * D • Hit rate estimator: • HITest =1 - a/Mb • Buffer allocation mechanism: • Partation buffer pool based M calculated above for each class.

  9. Dynamic Tuning Issues • Overshoot • Low responsiveness • No shared data between workloads

  10. Fragment Fencing - I • Response time estimator: • Response time and buffer miss rate are directly proportional. • Hit rate estimator: • HITtarget = 1.0-(Mobsv*(Rgoal/Robsv)) • Goal: determine the minimum number of pages that must be in memory to achieve an overall target hit rate for the class.

  11. Fragment Fencing - II • Buffer allocation mechanism • Passive allocation • Issues: • Having trouble when fragment is not uniform. • High overhead due to passive allocation mechanism.

  12. Class Fencing - Hit Rate Concavity • Concavity theorem: • Regardless of the database reference pattern, hit rate as a function of buffer memory allocation is a concave function under an optimal replacement policy. • Empirical study shows that modern page replacement policy are good enough, no knees!

  13. Class Fencing - Hit Rate Estimator

  14. Class Fencing’s - Memory Allocation • A compromise between 2 previous approaches • Local buffer manager VS global buffer manager, shared disk-page-to-buffer-frame table • poolSize, the max. number of buffer frames, is determined by hit rate estimator for one class. • existing DBMS replacement policy applied when demanding pages.

  15. Sharing Between Classes • Sharing: one class can reference a frame outside its fence. • poolSize represents lower bound on the number of frames used by one class, whereas hit rate estimator works with total number of frames used the class. • nonLocal[C] = bufSize – poolSize[C] p = (inUse[C] - numLocal[C]) / nonLocal[C] inUse[C]est = poolSize[C] + △poolSize + p * (nonLocal[C] - △poolSize)

  16. Experiments and Results • TPC-C and DBMIN Q2 • Goals for Q2 only • Goals for TPC-C only • Goals for Q2 and TPC-C • DBMIN Q2 and DBMIN Q3 • Goals for Q2 only • Goals for Q2 and Q3

  17. Conclusion • An improvement of the two previous approaches • Stable and accurate HIGH responsiveness • Low overhead, allow sharing • Robust

  18. Discussion • Why the goal of stability is in conflict of responsiveness? • For class fencing when the hit rate have knees, how do we find the intercept point of HT and hit rate curve? • Is it always possible that the hit rate estimator algorithm can converge to the correct point?

More Related