Cloud Gateways Suli Yang, Kiran Srinivasan, Kishore Udayashankar, - - PowerPoint PPT Presentation

cloud gateways
SMART_READER_LITE
LIVE PREVIEW

Cloud Gateways Suli Yang, Kiran Srinivasan, Kishore Udayashankar, - - PowerPoint PPT Presentation

Tombolo: Performance Enhancements for Cloud Gateways Suli Yang, Kiran Srinivasan, Kishore Udayashankar, Swetha Krishnan, Jingxin Feng, Yupu Zhang, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau 1 Storage is Moving to the Cloud Clients


slide-1
SLIDE 1

Suli Yang, Kiran Srinivasan, Kishore Udayashankar, Swetha Krishnan, Jingxin Feng, Yupu Zhang, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau

Tombolo: Performance Enhancements for Cloud Gateways

1

slide-2
SLIDE 2

Storage is Moving to the Cloud

2

Cloud Storage NFS Servers

Clients Clients

Cloud Gateway ¡ Cloud storage widely adopted for elasticity and agility ¡ Enterprise mostly use them for archival data but not expensive primary data

slide-3
SLIDE 3

Question

Can cloud gateway support primary enterprise workloads?

3

slide-4
SLIDE 4

Enterprise Workloads

4

  • Data Mining
  • Financial Databases
  • Server virtualization
  • E-mail
  • Workgroup files
  • Development and test
  • File distribution
  • E-mail archive
  • File archive
  • Backup/DR

Tier-1 workloads Tier-2 workloads Tier-3 workloads

slide-5
SLIDE 5

What we did

¡ Analyze two enterprise tier-2 workload

– Their access patterns work well with cloud gateways

¡ Introduce new prefetching scheme for cloud gateways

– Leverage I/O history – Combine sequentiality- and history-based prefetch

¡ Show the feasibility of moving tier-2 workloads to the cloud

– Reduce cache miss ratio down to ~6% – Reduce 90th tail latency to ~30 ms

5

slide-6
SLIDE 6

Overview

¡ Tier-2 workloads characteristics ¡ Prefetching Techniques ¡ Evaluation and Results ¡ Conclusion

6

slide-7
SLIDE 7

Tier-2 Workload Traces

Corporate Engineering Used by 1000 employees in Marketing and Finance 500 Engineers Workloads Office, Access, VM images Home directory and build data Dataset Size 3 TB 19 TB Data Read 203.8 GB 192.1 GB Data Written 119.9 GB 87.2 GB Trace Duration 42 days 38 days

7

slide-8
SLIDE 8

How big is the working set of data?

8

slide-9
SLIDE 9

Tier-2 Workloads: Working Set Size

9

Dataset Size Corp: 19TB Eng: 3 TB

Tier-2 workloads have a small working set and can be cached effectively

slide-10
SLIDE 10

How predictable are the access patterns?

10

slide-11
SLIDE 11

Tier-2 Workloads: Sequential Run Size

11

Tier-2 workloads have both sequential and random access patterns We need smart prefetching scheme

slide-12
SLIDE 12

Overview

¡ Tier-2 workloads characteristics ¡ Prefetching Techniques ¡ Evaluation and Results ¡ Conclusion

12

slide-13
SLIDE 13

Terminology

13

trigger distance in cache accessed to prefetch unaccessed prefetch degree

slide-14
SLIDE 14

Uniqueness in Cloud Gateways

(and the implications) ¡ Long and variable cloud latency:

– dynamically determine trigger distance

¡ Monetary cost involved:

– reduce prefetch wastage – dynamically adjust prefetch degree

14

Additional complexities and overhead acceptable given good results

slide-15
SLIDE 15

State of the Art: Adaptive Multi-Stream [1]

¡ Track each sequential stream identified ¡ Adjust trigger distance ¡ Adjust prefetch degree

15

[1] Gill et. al AMP: Adaptive Multi-Stream Prefetching in a Shared Cache

Sequential prefetching not enough How can we do better?

slide-16
SLIDE 16

History-Based Prefetch

¡ Leverage I/O history to capture random access patterns ¡ Use a probability graph to represent access history ¡ Traverse the graph to find prefetch candidates

16

N1

[15, 25]

N2

[26, 30]

N3

[75, 90]

N4

[0,1] 0.7 P34 P41 0.3

slide-17
SLIDE 17

Challenge: History Graph Too Big

¡ Nodes represent block ranges instead of individual blocks

– Reduce graph size by 99%

¡ Split block ranges based on client accesses

– Allow fine granularity control

¡ Populate the graph only with random accesses

– Reduce graph size by 80% – Reduce traversal time by 90%

17

0.3

N1

[15, 25]

N2

[26, 30]

N3

[75, 90]

N4

[0,1] 0.7 P34 P41

slide-18
SLIDE 18

Challenge: Wrongful Prefetch

¡ Balanced expansion instead

  • f BFS or DFS traversal

– Always fetch the most likely blocks to be accessed

¡ Remember wrongfully prefetched and evicted blocks ¡ Use history-based prefetch in conjunction with sequentiality- based prefetch

– Only traverse the graph when the block accessed does not belong to any sequential stream

18

P13

N1

[15, 25]

N2

[26, 30]

N3

[75, 90]

N4

[0,1] P12 P34 P41

slide-19
SLIDE 19

Overview

¡ Tier-2 workloads characteristics ¡ Prefetching Techniques ¡ Evaluation and Results ¡ Conclusion

19

slide-20
SLIDE 20

Experiment Methodology: Simulation

¡ Replay tier-2 I/O traces ¡ Simulator closely resembles enterprise storage system

– Log structured file system – Caching for data and metadata – Deduplication Engine

¡ Cloud latency distribution drawn from real cloud backend (S3/CloudFront)

20

slide-21
SLIDE 21

Cache Miss Ratio

21

¡ GRAPH consistently outperforms SEQ or AMP ¡ GRAPH is able to capture prefetching opportunities not available to sequential prefetching algorithms

slide-22
SLIDE 22

End-to-End I/O Latency

90th 95th 99th SEQ 745 ms 1335 ms 2115 ms AMP 705 ms 1255 ms 2095 ms GRAPH 33 ms 885 ms 1976 ms

22

Tail Latency S3 backend, Corp Dataset, 90 GB Cache ¡ GRAPH can reduce tail latency significantly ¡ Good prefetching algorithms can mask cloud latencies even for cache misses

slide-23
SLIDE 23

Is It Good Enough?

90th 95th 99th SEQ 745 ms 1335 ms 2115 ms AMP 705 ms 1255 ms 2095 ms GRAPH 33 ms 885 ms 1976 ms

23

Tail Latency S3 backend, Corp Dataset, 90 GB Cache

Modern data center provides similar guarantees

  • PriorityMeister (2014): 90th tail latency is 700 ms for

an Exchange workload

  • Google Cloud (2015): 90th TTBF (Time to First Byte)

latency of VM accessing data hosted in the same region is 52 ms

slide-24
SLIDE 24

Question

Can cloud gateway support primary enterprise workloads?

24

Tier-2

slide-25
SLIDE 25

Overview

¡ Tier-2 workloads characteristics ¡ Prefetching Techniques ¡ Evaluation and Results ¡ Conclusion

25

slide-26
SLIDE 26

Conclusion

¡ Cloud gateway feasible for tier-2 workloads ¡ Cloud gateway environment is unique: decisions we make for traditional storage systems may not be valid any more ¡ Re-examine other aspects of cloud gateways?

26

slide-27
SLIDE 27

27

slide-28
SLIDE 28

28

Can cloud gateway support tier-2 enterprise workloads?

slide-29
SLIDE 29

90th 95th 99th SEQ 745 ms 1335 ms 2115 ms AMP 705 ms 1255 ms 2095 ms GRAPH 33 ms 885 ms 1976 ms

29

CIFS: tolerate up to 15 seconds of latency in the path of retrieval

CIFS: 15 seconds

PriorityMeister(2014): 90th tail latency is 700 ms for an Exchange workload

PriorityMeister(2014): 700 ms

Google Cloud(2015): 90th TTBF (Time to First Byte) latency of VM accessing data hosted in the same region is 52 ms

Google Cloud (2015): 52 ms

slide-30
SLIDE 30

Combine Graph with Sequential Prefetch

¡ If the block accessed belongs to a sequential stream: prefetch sequentially ¡ Otherwise, traverse the graph to find prefetch candidates ¡ Significantly outperforms solely sequential or graph-based prefetch

30

slide-31
SLIDE 31

Challenge: History Graph Too Big

¡ Use block ranges instead of blocks as the unit

  • f accessing

¡ Balanced Expansion: always choose the most likely nodes to be accessed

– outperforms BFS or DFS

¡ Set trigger distance and prefetch degree similar to AMP, but in a graph-aware manner

31

slide-32
SLIDE 32

Probability Graph

¡ Node: block range (BR) based on client access ¡ Edge: <BR1, BR2>, access pattern of BR1 followed by BR2 ¡ Weight: conditional probability of accessing BR2 given the access of BR1

32

P13

BR1

[15, 25]

BR2

[26, 30]

BR3

[75, 90]

BR4

[0,1] P12 P34 P41

slide-33
SLIDE 33

¡ Tier-2 applications: require good performance but can tolerate occasional long latency

– CIFS: tolerate up to 15 seconds of latency in the path of retrieval

¡ Modern data center provides similar guarantees

– PriorityMeister (2014): 90th tail latency is 700 ms for an Exchange workload – Google Cloud (2015): 90th TTBF (Time to First Byte) latency of VM accessing data hosted in the same region is 52 ms

33

slide-34
SLIDE 34

Is this guarantee good enough for tier-2 workloads?

34

slide-35
SLIDE 35

Probability Graph: Traversal

¡ Multiply the probabilities while traversing ¡ Balanced Expansion: always choose the most likely nodes to be accessed

– outperforms BFS or DFS

¡ Set trigger distance and prefetch degree similar to AMP, but in a graph-aware manner

35

slide-36
SLIDE 36

Simulation Setup

¡ Workloads: corp+eng trace on 240GB dataset ¡ Simulator

36

slide-37
SLIDE 37

Previous results on sequential-based prefetching

37

72% 74% 76% 78% 80% 82% 84% 86% 88% 90% LRU + SEQ LRU + AMP SARC + SEQ SARC + AMP

Read Hit Ratio

Cache size: 30%

slide-38
SLIDE 38

First approach: assign likelihood based

  • n probability

38

P

slide-39
SLIDE 39

Access Pattern Analysis on Traces

39 21% 21% 48% 10%

Access patterns without Context Info

SEQ_ONCE RAND_ONCE SEQ_REPEATED RAND_REPEATED

Only 10% repeated and random accesses!

23% 19% 47% 11%

Access patterns with Context Info

SEQ_ONCE RAND_ONCE SEQ_REPEATED RAND_REPEATED

Only 10% repeated and random accesses!

slide-40
SLIDE 40

Access Pattern Repetition and Cache Hit Ratio

40 SEQ_ONCE RAND_ONCE SEQ_REPEATED RAND_REPEATE D TOTAL 21.0% 21.0% 47.0% 10.0% MISS 12.7% 1.8% 6.8% 0.5% HIT 1.3% 7.7% 24.6% 5.3% WRITE 7.8% 11.3% 15.3% 4.8% 0.0% 5.0% 10.0% 15.0% 20.0% 25.0% 30.0% 35.0% 40.0% 45.0% 50.0% WRITE HIT MISS

slide-41
SLIDE 41

Second approach: consider Sequentiality when assigning likelihoods

41

𝑄12 =​# 𝑝𝑔 𝐶𝑆2 𝑏𝑠𝑓 𝑏𝑑𝑑𝑓𝑡𝑡𝑓𝑒 𝑏𝑔𝑢𝑓𝑠 𝐶𝑆1/# 𝑝𝑔 𝑢𝑗𝑛𝑓𝑡 𝐶𝑆1 𝑏𝑠𝑓 𝑏𝑑𝑑𝑓𝑡𝑡𝑓𝑒 if BR2 and BR1 are not sequential 𝑄12 = 1 if BR2 and BR1 are not sequential

slide-42
SLIDE 42

¡ This slide should be a bit spoiler to show the key results…

42

slide-43
SLIDE 43

¡ On our workloads, history-based approach will

  • nly add incremental value to cache hit ratio.

¡ We need to combine sequential and history- based approaches. ¡ Currently working on: use GRAPH+SEQ as prefetch algorithm, and SARC as cache eviction algorithm to get better results.

43

Conclusions

slide-44
SLIDE 44

44

slide-45
SLIDE 45

Be adaptive

  • Between sequential and

random streams.

  • More space for perfected data.

Dynamically split cache space.

  • Adjust timing based on cloud

latency.

  • Adjust size of prefetch based on

workload.

Dynamically adjust the time and degree of prefetch.

45

[1] B.S Gill, L. Angel, and D. Bathen. AMP: Adaptive multi-stream prefetching in a shared cache. In USENIX FAST ’07 [2] B.S Gill and D.S. Modha. SARC: Sequential prefetching in adaptive replacement cache. In USENIX ATC ‘05

slide-46
SLIDE 46

Graph Traversal: Balanced Expansion

46

BR1 BR2 BR3 BR4

0.6 0.1 0.3

Client Access BR1 BR2 BR2

0.3 0.1 0.6

BR2 BR2

0.5 0.5

slide-47
SLIDE 47

Overview

¡ Insights ¡ Prefetch Algorithms ¡ Simulator Architecture ¡ Evaluation and results

47