220 likes | 355 Vues
This paper discusses the critical need for elasticity and dependability in cloud applications. It highlights how naive approaches to elasticity can increase system failure rates, particularly in large systems prone to single node failures that can lead to global failures. We propose a programming model that supports dependable cloud applications by integrating mechanisms for flexible execution and enhanced fault tolerance. Our findings underscore the significance of context-aware elasticity in managing the complexities of cloud architectures, ensuring recovery from failures, and maintaining operational efficiency.
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