: Taming the Cloud Object Storage Ali Anwar , Yue Cheng , Aayush - - PowerPoint PPT Presentation

taming the cloud object storage
SMART_READER_LITE
LIVE PREVIEW

: Taming the Cloud Object Storage Ali Anwar , Yue Cheng , Aayush - - PowerPoint PPT Presentation

: Taming the Cloud Object Storage Ali Anwar , Yue Cheng , Aayush Gupta , Ali R. Butt Virginia Tech & IBM Research Almaden Cloud object stores enable cost-efficient data storage Object storage 2 Cloud object


slide-1
SLIDE 1

: Taming the Cloud Object Storage

Ali Anwar★, Yue Cheng★, Aayush Gupta†, Ali R. Butt★

★Virginia Tech & †IBM Research – Almaden

slide-2
SLIDE 2

2

Cloud object stores enable cost-efficient data storage

Object storage

slide-3
SLIDE 3

3

Cloud object store supports various workloads

Object storage Online video sharing Enterprise backup Website Online gaming

slide-4
SLIDE 4

4

One size does not fit all

Replace monolithic object store with specialized fine-grained object stores each launched on a sub-cluster

slide-5
SLIDE 5

5

Reason 1: Classification of workloads

Object storage Online gaming Online video sharing Enterprise backup Website

Applications have different service level requirements, e.g., average latency per request, queries per second (QPS), and data transfer throughput (MB/s)

slide-6
SLIDE 6

6

Small objects

Object storage

~ 1-100 KB

Online gaming

Get: 5%, Put: 90%, Delete5:%

Website

Get: 90%, Put: 5%, Delete5:%

slide-7
SLIDE 7

7

Large objects

Object storage Online video sharing Enterprise backup

Get: 5%, Put: 90%, Delete5:% Get: 90%, Put: 5%, Delete5:%

~ 1-100 MB

slide-8
SLIDE 8

8

Reason 2: Heterogeneous resources

¤ Dcenters hosting object stores are becoming increasingly heterogeneous ¤ Hardware to application workload mismatch ¤ Meeting SLA requirement is challenging

slide-9
SLIDE 9

9

Outline

Introduction Motivation Contribution Design Evaluation

slide-10
SLIDE 10

10

Background: Swift object store

Object storage

=

Proxy server Storage nodes

slide-11
SLIDE 11

11

Swift: Proxy and Storage servers

Object storage

=

Proxy server Storage nodes

1 2

slide-12
SLIDE 12

12

Swift: Ring architecture

Object storage

=

Proxy server Storage nodes

3

slide-13
SLIDE 13

13

Benchmark used: CosBench

¤ COSBench is Intel developed Benchmark to measure Cloud Object Storage Service performance

¤ For S3, OpenStack Swift like object store ¤ Not for file system or block device system

¤ Used to compare different hardware software stacks ¤ Identify bottlenecks and make optimizations

slide-14
SLIDE 14

14

Workload used

Workload Workload Characteristics Application scenario Object Size Distribution Workload A 1 – 128 KB G: 90%, P: 5%, D:5% Web hosting Workload B 1 – 128 KB G: 5%, P: 90%, D:5% Online game hosting Workload C 1 – 128 MB G: 90%, P: 5%, D:5% Online video sharing Workload D 1 – 128 MB G: 5%, P: 90%, D:5% Enterprise backup

slide-15
SLIDE 15

15

COSBench 32 cores

Experimental setup for motivational study

8 cores 32 cores 1 Gbps 10 Gbps 3 SATA SSD/node Proxy servers Storage servers

slide-16
SLIDE 16

16

Configuration 1 – Default monolithic

COSBench 32 cores 8 cores 32 cores 1 Gbps 10 Gbps 3 SATA SSD/node Round robin

slide-17
SLIDE 17

17

Configuration 2 – Favors small objects

COSBench 32 cores 8 cores 1 Gbps 10 Gbps COSBench 32 cores 3 SATA SSD/node

Small objects Large objects

slide-18
SLIDE 18

18

Configuration 3 – Favors large objects

COSBench 32 cores 8 cores 1 Gbps 10 Gbps COSBench 32 cores 3 SATA SSD/node

Small objects Large objects

slide-19
SLIDE 19

19

Performance under multi tenant environment – Workload A & B

100 200 300 400 500 A B C D Throughput (QPS) Workload

Config 1 Config 2 Config 3

Small objects Large objects

slide-20
SLIDE 20

20

Performance under multi tenant environment- – Workload A & B

50 100 150 200 A B C D Throughput (MB/s) Workload

Config 1 Config 2 Config 3

Small objects Large objects

slide-21
SLIDE 21

21

Performance under multi tenant environment - latency

3 6 9 12 15 18 A B C D Latency (sec) Workload

Config 1 Config 2 Config 3

Small objects Large objects

slide-22
SLIDE 22

22

Key Insights

¤ Cloud object store workloads can be classified based on the size of the objects in their workloads ¤ When multiple tenants run workloads with drastically different behaviors, they compete for the object store resources with each other

slide-23
SLIDE 23

23

Outline

Introduction Motivation Contribution Design Evaluation

slide-24
SLIDE 24

24

Contributions

¤ Perform a performance and resource efficiency analysis on major hardware and software configuration opportunities ¤ We design MOS, Micro Object Storage:

¤ 1) dynamically provisions fine-grained microstores ¤ 2) exposes the interfaces of microstores to the tenants

¤ Evaluate MOS to showcase its advantages

slide-25
SLIDE 25

25

Outline

Introduction Motivation Contribution Design Evaluation

slide-26
SLIDE 26

26

Design criteria for MOS

¤ We studied the effect of three knobs on performance of a typical object store to come up with design rules/ rules of thumb

¤ Proxy Server settings ¤ Storage Server settings ¤ Hardware changes

slide-27
SLIDE 27

27

Effect of Proxy server settings

0.8 1.6 2.4 3.2 4 1 2 4 8 16 32 64 2x 0% 20% 40% 60% 80% 100% Throughput (103 QPS) Per-node CPU util (%) Proxy workers

100% util QPS CPU util

0.5 1 1.5 2 1 2 4 8 16 32 2x Throughput (GB/s) Proxy workers

10 Gbps NIC bandwidth limit

Small objects Large objects

slide-28
SLIDE 28

28

Effect of Proxy server settings

0.8 1.6 2.4 3.2 4 1 2 4 8 16 32 64 2x 0% 20% 40% 60% 80% 100% Throughput (103 QPS) Per-node CPU util (%) Proxy workers

100% util QPS CPU util

0.5 1 1.5 2 1 2 4 8 16 32 2x Throughput (GB/s) Proxy workers

10 Gbps NIC bandwidth limit

Small objects Large objects

slide-29
SLIDE 29

29

Effect of Storage server settings

0.4 0.8 1.2 1.6 2 2.4 2.8 1 2 4 8 16 32 0.2 0.4 0.6 0.8 1 1.2 Throughput (103 QPS) Throughput (GB/s) Object storage workers

QPS GB/s

slide-30
SLIDE 30

30

Effect of Storage server settings

0.4 0.8 1.2 1.6 2 2.4 2.8 1 2 4 8 16 32 0.2 0.4 0.6 0.8 1 1.2 Throughput (103 QPS) Throughput (GB/s) Object storage workers

QPS GB/s

Small objects

slide-31
SLIDE 31

31

Effect of Storage server settings

0.4 0.8 1.2 1.6 2 2.4 2.8 1 2 4 8 16 32 0.2 0.4 0.6 0.8 1 1.2 Throughput (103 QPS) Throughput (GB/s) Object storage workers

QPS GB/s

Large objects

slide-32
SLIDE 32

32

Effect of hardware settings

0.5 1 1.5 2 2.5 1 Gbps 10 Gbps Throughput (103 QPS)

HDD SSD

0.3 0.6 0.9 1.2 1.5 1 Gbps 10 Gbps Throughput (GB/s)

HDD SSD

Small objects Large objects

slide-33
SLIDE 33

33

Rules of thumb

¤ CPU on proxy serves as the first-priority resource for small-object intensive workloads ¤ Network bandwidth is more important than CPU on proxy for large-object intensive workloads ¤ proxyCores ¡= ¡storageNodes ¡∗ ¡coresPerStorageNode ¡ ¡ ¤ BWproxies ¡= ¡ ¡storageNodes ¡∗ ¡BWstorageNode ¡ ¤ Faster network cannot effectively improve QPS for small-object intensive workloads – use weak network (1 Gbps NICs) with good storage devices (SSD)

slide-34
SLIDE 34

34

MOS Design

Load balancer/ Load redirector

Microstore 1

Object storage Object storage Object storage

Proxy Proxy Proxy

… …

Workload monitor

Microstore N

Object storage Object storage Object storage

Proxy Proxy Proxy

… …

Workload monitor

Resource manager Free resource pool

Server Server Proxy

Object storage Object storage Object storage

Load balancer/ Load redirector Load balancer/ Load redirector

… … MOS setup Microstores Resource Manager

slide-35
SLIDE 35

35

Resource Provisioning Algorithm

¤ Initially, the algorithm allocates the same amount of resources to each microstore conservatively then use greedy approach for resource allocation ¤ Keep track of free set of resources (including hardware configuration, current load served, and the resource utilization such as CPU and network bandwidth utilization) ¤ Periodically collect monitoring data from each microstore to aggressively increase and linearly decrease resources from each microstore

slide-36
SLIDE 36

36

Outline

Introduction Motivation Contribution Design Evaluation

slide-37
SLIDE 37

37

Preliminary evaluation via simulation – Experimental setup

¤ Compute nodes:

  • 3 – 32 core machines
  • 4 – 16 core
  • 31 – 8 core machines
  • 12 – 4 core machines

¤ Network:

  • 18 – 10 Gbps
  • 32 – 1 Gbps NICs

¤ HDD to SSD ratio was 70% to 30%.

slide-38
SLIDE 38

38

Aggregated throughput

4 8 12 16 20 0 2 4 6 8 10 12 14 16 18 20 Throughput (103 QPS) Time (min) Default MOS static MOS dynamic 3 6 9 12 15 0 2 4 6 8 10 12 14 16 18 20 Throughput (GB/s) Time (min) Default MOS static MOS dynamic

Small objects Large objects

slide-39
SLIDE 39

39

Aggregated throughput

4 8 12 16 20 0 2 4 6 8 10 12 14 16 18 20 Throughput (103 QPS) Time (min) Default MOS static MOS dynamic 3 6 9 12 15 0 2 4 6 8 10 12 14 16 18 20 Throughput (GB/s) Time (min) Default MOS static MOS dynamic

Small objects Large objects

slide-40
SLIDE 40

40

Aggregated throughput

4 8 12 16 20 0 2 4 6 8 10 12 14 16 18 20 Throughput (103 QPS) Time (min) Default MOS static MOS dynamic 3 6 9 12 15 0 2 4 6 8 10 12 14 16 18 20 Throughput (GB/s) Time (min) Default MOS static MOS dynamic

Small objects Large objects

slide-41
SLIDE 41

41

Timeline under dynamically changing workloads

2 4 6 8 100 200 300 400 500 600 700 800 1 2 3 4 5 Throughput (103 QPS) Throughput (GB/s) Time (min) Stage 1 Stage 2 Stage 3 Stage 4 A B C D

slide-42
SLIDE 42

42

Resource utilization timeline

0.5 0.75 1

100 200 300 400 500 600 700 800 Time (min) A B C D Utilization (%) CPU Network

0.5 0.75 1

A B C D Utilization (%)

0.5 0.75 1

A B C D Utilization (%)

0.5 0.75 1

A B C D Utilization (%)

slide-43
SLIDE 43

43

Related Work

¤ MET proposes several system metrics that are critical for a NoSQL database and highly impacts server utilization’s estimation ¤ φSched and Walnut propose sharing of hardware resources across clouds of different types ¤ CAST and its extension perform coarse-grained cloud storage (including object stores) management for data analytics workloads ¤ IOFlow solves a similar problem by providing a queue and control functionality at two OS stages – the storage drivers in the hypervisor and the storage server

slide-44
SLIDE 44

44

Conclusion

¤ We performed exhausted study of cloud object stores ¤ We proposed a set of rules to help cloud object store administrator to efficiently utilize resources ¤ We presented MOS which can outperform extant

  • bject store under multi-tenant environment

¤ Our analysis shows that it is possible to exploit heterogeneity inherited by modern datacenter to the advantage of object store providers

slide-45
SLIDE 45

45

Q&A

slide-46
SLIDE 46

46

http://research.cs.vt.edu/dssl/

Ali Anwar Yue Cheng Aayush Gupta Ali R. Butt