1 / 22

Maintaining Mutual Consistency for Cached Web Objects

Maintaining Mutual Consistency for Cached Web Objects. Bhuvan Urgaonkar, Anoop Ninan, Mohammad Raunak, Prashant Shenoy, Krithi Ramamritham University of Massachusetts, Amherst http://lass.cs.umass.edu. Introduction. Server. Network. End-stations. Web Proxy. Web Proxy Caching

Download Presentation

Maintaining Mutual Consistency for Cached Web Objects

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. Maintaining Mutual Consistency for Cached Web Objects Bhuvan Urgaonkar, Anoop Ninan, Mohammad Raunak, Prashant Shenoy, Krithi Ramamritham University of Massachusetts, Amherst http://lass.cs.umass.edu

  2. Introduction Server Network End-stations Web Proxy • Web Proxy Caching • Reduces client response times, bandwidth usage and server load • Time-varying objects => need to maintain consistency • Example: Breaking news sections of newspaper sites • Consistency techniques: TTL, server invalidation, client polling • All of these techniques focus on individual objects

  3. Our Goal: Mutual Consistency • Many web objects are related to one another • Examples: • Stock prices and stock market indices • Sports scores of individuals and teams • Proxy must present a logically consistent view of related objects • Problem: How to maintain mutual consistency ?

  4. Outline • Motivation • Consistency Semantics • Consistency Maintenance Techniques • Experimental Evaluation • Related Work • Concluding Remarks

  5. Consistency Taxonomy Consistency Individual Mutual Time Value Time Value

  6. Consistency of Individual Objects • Strong consistency • The proxy and server always in sync with each other • Strong consistency is expensive! • Relax strong consistency:  - consistency • Time domain: t - consistency • The proxy never out of sync with the server by more than  time units • Eg: Sports score not stale by more than a minute • Value domain: v - consistency • The difference in the object values at the proxy and the server bound by  at all times • Eg: Only interested in changes larger than $1 to a stock price

  7. Mutual Consistency: Time Domain • Related objects should have existed at the server no more than  time units apart Objects X, Y at server: time t X X0 X1 time t > t +  Y Y0 Y1

  8. Mutual Consistency: Value Domain • Difference of some function of the values of the two objects at server and proxy bound by  • Example: With  = $1, the difference between two stock prices at proxy within $1 of the difference at server

  9. Individual Consistency:Time Domain • Baseline Approach • Have a fixed polling interval of  • Problem: Wastes network bandwidth when rate of change slow • LIMD Approach (Linear Increase Multiplicative Decrease) • Start by polling once every  • Object changes but no violations: • Increase the polling interval by a small linear factor • Object does not change: • Increase the polling interval by a larger linear factor • One or more violations occur: • Decrease the polling interval by a multiplicative factor

  10. Mutual Consistency:Time Domain • LIMD Approach • No support for mutual consistency => mutual consistency violations • LIMD Approach: Poll All • An object changes: • Trigger extra polls for all related objects • Advantage: Guarantees mutual consistency • Disadvantage: Polls all related objects at the rate of the fastest changing object => High network overhead • LIMD Approach: Poll Select • Track rate of change of objects • An object changes: • Trigger extra polls only for related objects changing at similar or faster rates

  11. Consistency Taxonomy: Summary Consistency Individual Mutual Time Value Time Value

  12. Individual Consistency: Value Domain • Track the rate of change of the object value • Compute the difference between the object values for successive polls • Extrapolate using the computed rate to decide when to poll next Value ($) 1.0 Actual change in value 0.5 Slope = $0.5 / 1 min Time (min) Poll (t) Poll (t+1)

  13. Mutual Consistency: Value Domain • Virtual Object Approach • Look at the difference in the object values as the value of a virtual object • Use the individual consistency technique for this virtual object • Partitioned Approach • For two related objects A and B, dynamically partition  into two parts  A and  B • A, B inversely proportional to rates of change of A, B • Maintain individual consistency constraints for A, B

  14. Outline • Motivation • Consistency Semantics • Consistency Maintenance Techniques • Experimental Evaluation • Related Work • Concluding Remarks

  15. Workload Characteristics • Workloads for Temporal Domain Consistency Avg. Update Frequency Trace CNN Financial News Briefs 26.0 min NY Times News (AP) 11.6 min NY Times News (Reuters) 20.3 min Guardian Breaking News 4.9 min • Workloads for Value Domain Consistency Stock Name Number of updates AT&T 653 Yahoo 2204

  16. Performance Metrics • Fidelity • The fraction of time the proxy is able to maintain the consistency guarantee • Number of polls • Network overhead • Goal: High fidelity at a low network overhead

  17. Fidelity, CNN/FN trace 1 0.8 0.6 Fidelity 0.4 0.2 LIMD Approach Baseline Approach 0 0 10 20 30 40 50 60 Efficacy of the LIMD approach Number of polls, CNN/FN trace 3000 • Significant reduction in number of polls for stringent consistency requirements • Allows a tradeoff between number of polls and fidelity LIMD Approach 2500 Baseline Approach 2000 Number of polls 1500 1000 500 0 0 10 20 30 40 50 60 Delta consistency constraint (min) Delta consistency constraint (min)

  18. Adaptive behavior of LIMD approach CNN/FN trace, Delta = 10 min Update frequency Duration between polls • Can track the rate of change of object at server 12 70 60 10 50 8 40 Duration between polls(min) Number of updates per 2 hours 6 30 4 20 2 10 0 0 1 pm 9 pm 5 am 1 pm 9 pm 5 am 1 pm 9 pm 5 am 1 pm 9 pm 5 am Time Time

  19. Mutual Consistency in Time Domain Fidelity, Delta=10 min Number of polls, Delta=10min • Our heuristic can provide high fidelity with a moderate increase in number of polls 600 1 500 0.8 400 0.6 Number of polls Fidelity 300 0.4 200 LIMD : Poll Select LIMD : Poll Select 0.2 100 LIMD : Poll All LIMD : Poll All Baseline LIMD Baseline LIMD 0 0 0 5 10 15 20 25 30 0 5 10 15 20 25 30 Mutual consistency constraint (min) Mutual consistency constraint (min)

  20. Mutual Consistency in Value Domain Virtual Object Approach, Delta=$2.5 • Can track changing object values effectively 150 145 Difference in stock prices ($) 140 135 Server Proxy 130 2600 2650 2700 2750 2800 2850 2900 Time (sec)

  21. Related Work • Consistency mechanisms for individual objects: • Weak consistency • Time To Live values • Adaptive TTR: Srinivasan 1998 • Periodic Polling: Cao 1997 • Strong consistency • Client Polling: Yin 1999 • Server Invalidation: Cao 1997 • Adaptive Leases: Duvvuri 2000

  22. Summary • Identified the need for mutual consistency techniques • Adaptive approaches for providing consistency guarantees • Showed small incremental cost of providing mutual consistency guarantees URL: http://lass.cs.umass.edu/projects/broadway

More Related