Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block...

19
Cooperative Caching with Return on Investment Gala Yadgar Technion Technion – Israel Institute of Technology Michael Factor IBM Research Assaf Schuster Technion

Transcript of Cooperative Caching with Return on Investment · 2013. 5. 10. · [Yadgar et al. 2008] – Block...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

“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

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

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

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

Coming Up • Saving energy • Federated CDN

19