Stateful Cloud Computing Applications Bo Sang (Purdue University, - - PowerPoint PPT Presentation

stateful cloud computing applications
SMART_READER_LITE
LIVE PREVIEW

Stateful Cloud Computing Applications Bo Sang (Purdue University, - - PowerPoint PPT Presentation

PLASMA : Programmable Elasticity for Stateful Cloud Computing Applications Bo Sang (Purdue University, Ant Financial Services Group), Pierre-Louis Roman, Patrick Eugster (Universit della Svizzera italiana), Hui Lu (Binghamton University),


slide-1
SLIDE 1

PLASMA: Programmable Elasticity for Stateful Cloud Computing Applications

Bo Sang (Purdue University, Ant Financial Services Group), Pierre-Louis Roman, Patrick Eugster (Università della Svizzera italiana), Hui Lu (Binghamton University), Srivatsan Ravi (University of Southern California), Gustavo Petri (ARM Research)

slide-2
SLIDE 2

Elasticity Management for Cloud Applications

2

slide-3
SLIDE 3

AWS Lambda Function

3

Each function executes independently External storage introduce nontrivial latency

slide-4
SLIDE 4

Actor-based Applications in Cloud

Actor Server

Scalability Low latency

4

Elasticity Orleans (SoCC’13, Eurosys’16) EventWave (SoCC’14) AEON (Middleware’16) ✓ ✓ ?

slide-5
SLIDE 5

Elasticity Management for PageRank

Graph partition Server Communication Resource Usage

5

slide-6
SLIDE 6

Fine-grained Elasticity Management

❑ We need

❑ Application information ❑ User requirements ❑ Server runtime information ❑ Application runtime information

6

PLASMA Language PLASMA Runtime

slide-7
SLIDE 7

Profiling Runtime

PLASMA Program AEON Program PLASMA Compiler

Execution Runtime

PLASMA Tool Chain

Profiling Runtime Profiling Runtime

7

slide-8
SLIDE 8

Elasticity Programming Language

❑ Elasticity rules ❑ Conditions ❑ Behaviors:

Conds => Behaviors;

8

balance({atypes}, resource) reserve(actor, resource) colocate(actor, actor) separate(actor, actor) pin(actor) server.cpu.perc > 80 or server.cpu.perc < 60 => balance({Partition}, cpu); Server runtime Actor runtime Semantics …

slide-9
SLIDE 9

Elasticity Management Runtime

GEM GEM

Profiling Runtime Execution Runtime Elasticity Messages

Profiling Runtime

LEM

Profiling Runtime

LEM

Profiling Runtime

LEM

9

Profiling Runtime: collecting runtime information of actors and the server LEM: processing rules which only require local information GEM: processing rules which only require global information

slide-10
SLIDE 10

Evaluation: Applications

10 Applications Elasticity rules Metadata server

  • 1. Colocate Folder with Files on the same server

PageRank

  • 1. Balance CPU workload

E-Store

  • 1. Put hot Partitions on idle servers
  • 2. Colocate parent-child Partitions
  • 3. Balance CPU workload of Partitions

Media Service

  • 1. Balance network workload for FrontEndsService
  • 2. Provide VideoStream with enough CPU
  • 3. Colocate linked VideoStream and UserInfo
  • 4. Avoid migrating MovieReview
  • 5. Balance CPU workload of ReviewChecker
  • 6. Colocate linked ReviewEditor andUserReview

Halo Presence Server

  • 1. Balance CPU workload of Routers
  • 2. Colocate Session with Players in it
slide-11
SLIDE 11

Evaluation: PageRank

❑ Setup

❑ SNAP’s LiveJournal social network ❑ Use METIS to partition the graph into 32 partitions

11

10 20 30 40 50 60 70 80 90 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 Computation Time (s) Number of Iterations PLAS2MA Over-Provisioning PLASMA 0.2 0.4 0.6 0.8 1 1.2 1 2 3 4 5 6 7 8 9 10 111213 141516 171819

Normalized Iteration Time (s)

Number of Iterations

Mizan (w/ Elasticity) Mizan (w/o Elasticity) PLAS2MA (w/ Elasticity) PLAS2MA (w/o Elasticity) PLAS2MA PLAS2MA PLASMA Orleans Elasticity

24% faster with 16 vCPU (8 servers) 24 vCPU (12 servers) vs 32 vCPU (16 servers)