Stateful Cloud Computing Applications Bo Sang (Purdue University, - - PowerPoint PPT Presentation
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),
Elasticity Management for Cloud Applications
2
AWS Lambda Function
3
Each function executes independently External storage introduce nontrivial latency
Actor-based Applications in Cloud
Actor Server
Scalability Low latency
4
Elasticity Orleans (SoCC’13, Eurosys’16) EventWave (SoCC’14) AEON (Middleware’16) ✓ ✓ ?
Elasticity Management for PageRank
Graph partition Server Communication Resource Usage
5
Fine-grained Elasticity Management
❑ We need
❑ Application information ❑ User requirements ❑ Server runtime information ❑ Application runtime information
6
PLASMA Language PLASMA Runtime
Profiling Runtime
PLASMA Program AEON Program PLASMA Compiler
Execution Runtime
PLASMA Tool Chain
Profiling Runtime Profiling Runtime
7
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 …
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
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
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