Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Programming Model Support for Dependable, Elastic Cloud Applications Wei-Chiu Chuang, Bo Sang, Charles Killian, Milind Kulkarni 1
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Motivation Elasticity Dependability Implementation Conclusion 2
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Motivation – Cloud in Reality 3
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Motivation Imagine an ideal world… 4
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Motivation -“Ideal” Cloud 5
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Motivation - Failures 6 Failure! Single node failure induces global failure recovery
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Motivation – Failure in Large Systems 7 Naïve elasticity makes system more likely to fail
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Motivation - Too Big To Fail 8
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Motivation Elasticity Dependability Implementation Conclusion 9
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Elasticity – Context 10 Node state X Y Z e1 = 2 e2 = 5 e3 = 4
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Elasticity – Independent Contexts 11 Node state X Y Z Context 1: x Context 2: y Context 3: z e1e2 e3 Commit in sequential order
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Elasticity - Hierarchical Contexts 12 global c’ c c e1e2 message
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Elasticity – Logical Node 13 Demands Distribute contexts to more nodes demand throughput
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Elasticity – Logical Node 14 demand throughput
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Elasticity – Logical Node 15 Elasticity: change the mapping of contexts to physical nodes demand throughput
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Motivation Elasticity Dependability Implementation Conclusion 16
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Partial Recovery Failure! Failure recovery is per-context basis
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Event Replay Failure! Event replay is safe: outgoing messages is deferred until commit
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Motivation Elasticity Dependability Implementation Conclusion 19
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Head Node 20 Remote nodes interact with head nodes Logical node1 Logical node2 Logical node3
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Motivation Elasticity Dependability Implementation Conclusion 21
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Conclusion Elasticity is crucial for cloud applications. Our programming model enables elastic execution. The elastic mechanism also helps fault tolerance MaceSystems
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 23 Questions?
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 Motivation Elasticity Dependability Programming Model Conclusion Backup Slides 24