Wiera : Towards Flexible Multi-Tiered Geo-Distributed Cloud Storage - - PowerPoint PPT Presentation

wiera towards flexible multi tiered geo distributed cloud
SMART_READER_LITE
LIVE PREVIEW

Wiera : Towards Flexible Multi-Tiered Geo-Distributed Cloud Storage - - PowerPoint PPT Presentation

Wiera : Towards Flexible Multi-Tiered Geo-Distributed Cloud Storage Instances Kwangsung Oh , Abhishek Chandra, and Jon Weissman Department of Computer Science and Engineering University of Minnesota Twin Cities HPDC 2016 Cloud Providers


slide-1
SLIDE 1

Wiera: Towards Flexible Multi-Tiered Geo-Distributed Cloud Storage Instances

Kwangsung Oh, Abhishek Chandra, and Jon Weissman

Department of Computer Science and Engineering University of Minnesota Twin Cities

HPDC 2016

slide-2
SLIDE 2

Cloud Providers Publicly Available

Private Cloud

slide-3
SLIDE 3

From http://www.datacentermap.com

Multiple DCs on Earth

slide-4
SLIDE 4

Users are Around the World

slide-5
SLIDE 5

Geo-Distributed Users, DCs and Applications

Where are the best locations for storing data?

slide-6
SLIDE 6

Factors that Influence Data Placement

  • SLA
  • Consistency Model
  • Desired Cost
  • Desired Fault Tolerance
  • Data Access Pattern
  • Users’ Locations
  • And many more…
slide-7
SLIDE 7

Challenges

  • Different applications will emphasize different

factors to yield diverse policies

  • How easy is to create data placement policies?
  • Complexities from multiple storage tiers

across cloud providers

  • How can nearby DC’s storage be accessed easily?
  • Dynamics from cloud environment
  • How can applications achieve their desired goals even

with dynamics?

slide-8
SLIDE 8

Storage

Disk Memcache

Storage

Disk Memcache

Multiple DCs Offer Benefits

  • Performance
  • Cost
  • Fault tolerance
slide-9
SLIDE 9

Challenges

  • Different applications will emphasize different

factors to yield diverse p policies

  • How easy is to create data placement policies?
  • Complexities from multiple storage tiers

across cloud providers

  • How can multi-DC storage be accessed easily?
  • Dynamics from cloud environment
  • How can applications achieve their desired goals even

with dynamics?

slide-10
SLIDE 10

Dynamics Happen Because

  • Cloud Service providers do not guarantee

consistent performance

  • Users are moving
  • Users’ access patterns keep changing
slide-11
SLIDE 11

Challenges

  • Different applications will emphasize different

factors to yield diverse p policies

  • How easy is to create data placement policies?
  • Complexities from multiple storage tiers

across cloud providers

  • How can nearby DC’s storage be accessed easily?
  • Dynamics from cloud environment
  • How can applications achieve their desired goals in the

presence of dynamics?

slide-12
SLIDE 12

Our Goal

  • Enabling applications to achieve

their desired goals in geo- distributed cloud environment by

1. Supporting flexible storage policies 2. Exploiting multiple storage tiers across DCs 3. Handling dynamics at runtime

slide-13
SLIDE 13

Roadmap

  • Motivations & Goals
  • Wiera Storage System
  • Policy Examples
  • Experimental Evaluations
slide-14
SLIDE 14

Wiera Storage System

 Policy driven key-value storage system for geo-distributed environment  Built upon Tiera which hides complexities

  • f multiple storage tiers

 Provides easy way to specify and change policies

slide-15
SLIDE 15

Background: Tiera [RaghavanCW14]

 Handles data placement among storage tiers within a single DC  Provides Get/Put APIs to applications  Uses Event-Response mechanism

  • Action (Put/Get), Timer, Threshold
  • Store, Copy, Queue, Compress, Encrypt …
slide-16
SLIDE 16

Multiple Storage Tiers in a DC

slide-17
SLIDE 17

Tiera Storage Instance

Tiera instance

slide-18
SLIDE 18

Tiera Policy Example: Write Back Policy

Tiera instance

Asynchronously

slide-19
SLIDE 19

Tiera Policy Example: Write Through Policy

Tiera instance

Synchronously

slide-20
SLIDE 20

Wiera Architecture

Global Policy Manager Tiera Server Manager

Region 1

Tiera Server

Region 2

Tiera Server

Region N

Tiera Server

Wiera User Interface

Tiera Instance 3 Tiera Instance 4 Tiera Instance 2 Tiera Instance N Tiera Instance 1

Policy

Meta Data

Tiera Instances Manger …

Region 1

Tiera Server

Tiera Instance 4 Tiera Instance 1

Data Control

slide-21
SLIDE 21 ElastiCache EBS S3 ElastiCache EBS S3 ElastiCache EBS S3 ElastiCache EBS S3

Wiera

How Wiera Works

slide-22
SLIDE 22

Roadmap

  • Motivations & Goals
  • Wiera storage system
  • Policy examples
  • Experimental evaluations
slide-23
SLIDE 23
  • Consistency Policies
  • Access Nearby DC’s memory Policy
  • Changing Consistency at run-time

Flexible Storage Policies

slide-24
SLIDE 24 ElastiCache EBS S3 ElastiCache EBS S3 ElastiCache EBS S3 ElastiCache EBS S3

StrongConsistency Policy

Wiera

event(put.into) : response { lock(what:insert.key) store(what:insert.object, to:local_instance) copy(what:insert.object, to:all_regions) release(what:insert.key) }

slide-25
SLIDE 25

EventualConsistency Policy

event(put.into) : response { store(what:insert.object, to:local_instance) queue(what:insert.object, to:all_regions) } Broadcasting in Background

slide-26
SLIDE 26
  • Consistency Policies
  • Access Nearby DC’s memory Policy
  • Changing Consistency Policy at runtime

Flexible Storage Policies

slide-27
SLIDE 27

Disk

Memcache

AccessNearDCMemory Policy

event(put.into) : response { store(what:insert.object, to:local_instance) copy(what:insert.object, to:NearDC.Memory) } event(get.from) : response { retrieve(what:get.object, from:NearDC.Memory) }

slide-28
SLIDE 28
  • Consistency Policies
  • Nearby DC’s memory for performance
  • Changing Consistency Policy at runtime

Flexible Storage Policies

slide-29
SLIDE 29 ElastiCache EBS S3 ElastiCache EBS S3 ElastiCache EBS S3 ElastiCache EBS S3

Wiera

Strong Consistency is Expensive

Network Delay Storage Delay Network Delay

slide-30
SLIDE 30 ElastiCache EBS S3 ElastiCache EBS S3 ElastiCache EBS S3 ElastiCache EBS S3

Wiera

Eventual Consistency for SLA

slide-31
SLIDE 31

event(threshold.type == put) : response { if(threshold.latency > 800 ms && threshold.period > 30 seconds) change_policy(what:consistency, to:EventualConsistency); else if(threshold.latency < 800 ms && threshold.period > 30 seconds) change_policy(what:consistency, to:StrongConsistency); }

ElastiCache EBS S3 ElastiCache EBS S3 ElastiCache EBS S3 ElastiCache EBS S3

Wiera

DynamicConsistency Policy

SLA: 800 ms Period: 30 sec

slide-32
SLIDE 32

Roadmap

  • Motivations & Goals
  • Wiera storage system
  • Policy examples
  • Experimental evaluation
slide-33
SLIDE 33

Evaluation

  • Amazon and Azure Cloud
  • US East, US West, Europe West, and Asia Southeast
  • YCSB, SysBench, and RUBiS
  • Evaluation illustrates
  • Wiera helps applications achieve desired goal
  • Unmodified applications can get benefits from Wiera
  • Wiera handles dynamics by changing the consistency model
slide-34
SLIDE 34

Disk

Local Disk vs. Nearby DC’s Memory

SysBench Configure 1: Local Disk (Not Using Wiera)

slide-35
SLIDE 35

Disk

Memcache

Local Disk vs. Nearby DC’s Memory

SysBench Configure 2: Nearby DC’s Memory (Using Wiera)

slide-36
SLIDE 36

RUBiS Configure 1: MySQL uses Local Disk (Not Using Wiera) RUBiS Configure 2: MySQL uses Nearby DC’s Memory (Using Wiera)

Disk

Memcache

RUBiS - Unmodified Application on Wiera

slide-37
SLIDE 37

RUBiS Throughput Local-disk vs. Nearby DC’s memory

slide-38
SLIDE 38

event(threshold.type == put) : response { if(threshold.latency > 800 ms && threshold.period > 30 seconds) change_policy(what:consistency, to:EventualConsistency); else if(threshold.latency < 800 ms && threshold.period > 30 seconds) change_policy(what:consistency, to:StrongConsistency); }

ElastiCache EBS S3 ElastiCache EBS S3 ElastiCache EBS S3 ElastiCache EBS S3

Wiera

From Strong to Eventual Consistency

SLA: 800 ms Period: 30 sec

slide-39
SLIDE 39

User-Perceived Latency

Strong Eventual Strong Eventual Strong SLA Threshold: 800 ms SLA violation more than 30 seconds No SLA violation in 30 seconds

slide-40
SLIDE 40

Conclusion

  • Applications can achieve their

desired goals through Wiera

 Providing an easy way to specify policies  Exploiting multiple storage tiers across DCs  Handling dynamics at runtime

slide-41
SLIDE 41

Thank You!