Programming Model Support for Dependable, Elastic Cloud Applications
description
Transcript of Programming Model Support for Dependable, Elastic Cloud Applications
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 1
Programming Model Support for Dependable, Elastic Cloud
Applications
Wei-Chiu Chuang, Bo Sang, Charles Killian, Milind Kulkarni
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 2
MotivationElasticity
DependabilityImplementation
Conclusion
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 3
Motivation – Cloud in Reality
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 5
Motivation -“Ideal” Cloud
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 7
Motivation – Failure in Large Systems
Naïve elasticity makes system more likely to fail
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 8
Motivation - Too Big To Fail
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 9
MotivationElasticity
DependabilityImplementation
Conclusion
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 10
Elasticity – Context
Node state
X
Y
Z
e1 = 2e2
= 5
= 4
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 11
Elasticity – Independent Contexts
Node state
X
Y
Z
Context 1: x
Context 2: y
Context 3: z
e1e2
Commit in sequential order
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 12
Elasticity - Hierarchical Contexts
global
c’
c
e1e2
message
message
message
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 13
Elasticity – Logical NodeDemands
Distribute contexts to more nodes
demand
throughput
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 14
Elasticity – Logical Node
demand
throughput
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 15
Elasticity – Logical Node
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 16
MotivationElasticity
DependabilityImplementation
Conclusion
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 17
Partial Recovery
123 Failure!
Failure recovery is per-context basis
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 18
Event Replay
123 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 19
MotivationElasticity
DependabilityImplementation
Conclusion
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 20
Head Node
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 21
MotivationElasticity
DependabilityImplementation
Conclusion
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 22
Conclusion
• Elasticity is crucial for cloud applications.• Our programming model enables elastic execution.• The elastic mechanism also helps fault tolerance.
http://www.macesystems.orgMaceSystems
Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 23
Questions?