cooperative caching with return on investment · 2013. 5. 10. · [yadgar et al. 2008] – block...
TRANSCRIPT
![Page 1: Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block accesses hinted or derived – Server constructs configuration • Very selfish clients](https://reader035.vdocuments.us/reader035/viewer/2022081622/6134160ddfd10f4dd73b81bf/html5/thumbnails/1.jpg)
Cooperative Caching with Return on Investment
Gala Yadgar Technion
Technion – Israel Institute of Technology
Michael Factor IBM Research
Assaf Schuster Technion
![Page 2: Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block accesses hinted or derived – Server constructs configuration • Very selfish clients](https://reader035.vdocuments.us/reader035/viewer/2022081622/6134160ddfd10f4dd73b81bf/html5/thumbnails/2.jpg)
Rethinking Cooperative Caching
Traditionally: • “Global” LRU management
– Global optimization • Central ownership: cooperation is mandatory
• What about selfish clients?
2
![Page 3: Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block accesses hinted or derived – Server constructs configuration • Very selfish clients](https://reader035.vdocuments.us/reader035/viewer/2022081622/6134160ddfd10f4dd73b81bf/html5/thumbnails/3.jpg)
Selfish Clients: Why?
• Large scale resource consolidation • Storage clouds • Computational grids • Large scale data centers • Federated CDNs
– Resources owned/chartered by different entities • Limited resources
• Buffers, energy, bandwidth, processing
3
Server (shared cache)
Storage
Client (private cache)
![Page 4: Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block accesses hinted or derived – Server constructs configuration • Very selfish clients](https://reader035.vdocuments.us/reader035/viewer/2022081622/6134160ddfd10f4dd73b81bf/html5/thumbnails/4.jpg)
Selfish Clients: How?
• Refuse to cache unneeded blocks – Manage cache according to their own policy
• Traditionally assumed irrelevant
• Refuse to SERVE blocks – Even if they are cached
• Traditionally assumed cost is negligible
• There is a scale of selfishness
4
Most altruistic
Most selfish
![Page 5: Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block accesses hinted or derived – Server constructs configuration • Very selfish clients](https://reader035.vdocuments.us/reader035/viewer/2022081622/6134160ddfd10f4dd73b81bf/html5/thumbnails/5.jpg)
Approaches for Selfish Clients
• Storage caching • Limited “private” partition • Load balancing
• Peer-to-Peer • “Tit for tat”, reputations • Virtual currency
• Job scheduling • Market based models
5
Insufficient Unfair
Short term encounters
Computation and
message intensive
![Page 6: Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block accesses hinted or derived – Server constructs configuration • Very selfish clients](https://reader035.vdocuments.us/reader035/viewer/2022081622/6134160ddfd10f4dd73b81bf/html5/thumbnails/6.jpg)
A New Model • New operation: SERVE
– Added to READ, WRITE etc. – Define cost in terms of client’s objective function
• Measure utility derived from cache content – Accurate or estimate
• Selfish clients cooperate iff Utility (cache w/o cooperation) < Utility (cache with cooperation)
- Cost (total access to remote caches) - Cost (total SERVES to peers)
6
![Page 7: Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block accesses hinted or derived – Server constructs configuration • Very selfish clients](https://reader035.vdocuments.us/reader035/viewer/2022081622/6134160ddfd10f4dd73b81bf/html5/thumbnails/7.jpg)
In The New Model
7
• When to cooperate? • How to cooperate?
Most altruistic
Most selfish
Performance ?
![Page 8: Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block accesses hinted or derived – Server constructs configuration • Very selfish clients](https://reader035.vdocuments.us/reader035/viewer/2022081622/6134160ddfd10f4dd73b81bf/html5/thumbnails/8.jpg)
Cooperative DHT • Distributed Hash Table [Stoica et al. 2003]
– Distributed key assignment • Altruistic clients
– Cache : blocks they are assigned – SERVE: all requests
8 Altruistic Selfish
![Page 9: Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block accesses hinted or derived – Server constructs configuration • Very selfish clients](https://reader035.vdocuments.us/reader035/viewer/2022081622/6134160ddfd10f4dd73b81bf/html5/thumbnails/9.jpg)
Cooperative Peer to Peer
• BitTorrent based caching [Cohen 2003]
– Server tracks accesses (“tracker”)
• Selfish clients – Cache : LRU without replication – SERVE: peers with positive balance (“tit for tat”)
S
C B
A
9 Altruistic Selfish
![Page 10: Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block accesses hinted or derived – Server constructs configuration • Very selfish clients](https://reader035.vdocuments.us/reader035/viewer/2022081622/6134160ddfd10f4dd73b81bf/html5/thumbnails/10.jpg)
Cooperative ARC
• Adaptive Replacement Cache [Megiddo and Modha 2003]
– New blocks in L1 – Useful blocks in L2
• Very selfish clients – Cache : ARC with replication in L2
– SERVE: peers with positive balance
L2 L1
10
“waiting list”
Altruistic Selfish
![Page 11: Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block accesses hinted or derived – Server constructs configuration • Very selfish clients](https://reader035.vdocuments.us/reader035/viewer/2022081622/6134160ddfd10f4dd73b81bf/html5/thumbnails/11.jpg)
Utility Based Cooperative Caching • Use utility calculations [Yadgar et al. 2008]
– Block accesses hinted or derived – Server constructs configuration
• Very selfish clients – Cache : by configuration – SERVE: by configuration
As long as utility increases
11 Altruistic Selfish
![Page 12: Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block accesses hinted or derived – Server constructs configuration • Very selfish clients](https://reader035.vdocuments.us/reader035/viewer/2022081622/6134160ddfd10f4dd73b81bf/html5/thumbnails/12.jpg)
Decision Support Workload (TPCH) • Uniform distribution • Short term information • Partial correlation
20 peers
12
Performance
Selfish Altruistic
No Coop
![Page 13: Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block accesses hinted or derived – Server constructs configuration • Very selfish clients](https://reader035.vdocuments.us/reader035/viewer/2022081622/6134160ddfd10f4dd73b81bf/html5/thumbnails/13.jpg)
13
OLTP Workload (TPCC) • Long tail distribution • Partial information • Strong correlation
Cost (SERVE)
Total Cost (I/O)
20 peers
I/O Response Time
![Page 14: Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block accesses hinted or derived – Server constructs configuration • Very selfish clients](https://reader035.vdocuments.us/reader035/viewer/2022081622/6134160ddfd10f4dd73b81bf/html5/thumbnails/14.jpg)
14
OLTP Workload • Long tail distribution • Partial information • Strong correlation
Performance
Selfish Altruistic
No Coop
Total Cost (I/O)
![Page 15: Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block accesses hinted or derived – Server constructs configuration • Very selfish clients](https://reader035.vdocuments.us/reader035/viewer/2022081622/6134160ddfd10f4dd73b81bf/html5/thumbnails/15.jpg)
“YouTube” Workload • Heavy tail distribution • General information • Medium correlation • Cheap SERVE
15
50 peers
Performance
Selfish Altruistic
No Coop
![Page 16: Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block accesses hinted or derived – Server constructs configuration • Very selfish clients](https://reader035.vdocuments.us/reader035/viewer/2022081622/6134160ddfd10f4dd73b81bf/html5/thumbnails/16.jpg)
TPCH Queries • Uniform distribution • Accurate information • Medium correlation
Queries 3,10, and18
16
Performance
Selfish Altruistic
No Coop
![Page 17: Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block accesses hinted or derived – Server constructs configuration • Very selfish clients](https://reader035.vdocuments.us/reader035/viewer/2022081622/6134160ddfd10f4dd73b81bf/html5/thumbnails/17.jpg)
17
• When to cooperate? • How to cooperate?
Most altruistic
Most selfish
Performance ?
Conclusions
![Page 18: Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block accesses hinted or derived – Server constructs configuration • Very selfish clients](https://reader035.vdocuments.us/reader035/viewer/2022081622/6134160ddfd10f4dd73b81bf/html5/thumbnails/18.jpg)
Conclusions
18
Blocks accessed uniformly?
Correlated workload?
Can compute utility?
What is the cost of SERVE?
Cooperate. Altruistic
clients will do better.
Cooperate with explicit
block allocation.
Cooperate. Selfish clients will do better. Don’t cooperate
Yes
Yes Yes, with hints or statistics
No, skewed accesses
Not accurately No
Medium/ high
Very low
![Page 19: Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block accesses hinted or derived – Server constructs configuration • Very selfish clients](https://reader035.vdocuments.us/reader035/viewer/2022081622/6134160ddfd10f4dd73b81bf/html5/thumbnails/19.jpg)
Coming Up • Saving energy • Federated CDN
19