220 likes | 348 Views
Programming Model Support for Dependable, Elastic Cloud Applications. Wei-Chiu Chuang , Bo Sang, Charles Killian, Milind Kulkarni. Motivation Elasticity Dependability Implementation Conclusion. Motivation – Cloud in Reality. Motivation -“Ideal” Cloud. Motivation - Failures. Failure!.
E N D
Programming Model Support for Dependable, Elastic Cloud Applications Wei-Chiu Chuang, Bo Sang, Charles Killian, MilindKulkarni
Motivation Elasticity Dependability Implementation Conclusion
Motivation - Failures Failure! Single node failure induces global failure recovery
Motivation – Failure in Large Systems Naïve elasticity makes system more likely to fail
Motivation Elasticity Dependability Implementation Conclusion
Elasticity – Context Node state X Y Z = 5 e2 e1 e3 = 2 = 4
Elasticity – Independent Contexts Commit in sequential order Node state X Y Z Context 1: x Context 2: y e2 e1 e3 Context 3: z
Elasticity - Hierarchical Contexts e1 global e2 message c’ message message c
Elasticity – Logical Node throughput Demands Distribute contexts to more nodes demand
Elasticity – Logical Node throughput demand
Elasticity – Logical Node throughput Elasticity: change the mapping of contexts to physical nodes demand
Motivation Elasticity Dependability Implementation Conclusion
Partial Recovery Failure recovery is per-context basis Failure! 3 2 1
Event Replay Event replay is safe: outgoing messages is deferred until commit Failure! 3 2 1
Motivation Elasticity Dependability Implementation Conclusion
Head Node Logical node1 Remote nodes interact with head nodes Logical node3 Logical node2
Motivation Elasticity Dependability Implementation Conclusion
Conclusion • Elasticity is crucial for cloud applications. • Our programming model enables elastic execution. • The elastic mechanism also helps fault tolerance. MaceSystems http://www.macesystems.org