Programming Model Support for Dependable, Elastic Cloud Applications

22
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

description

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!. - PowerPoint PPT Presentation

Transcript of Programming Model Support for Dependable, Elastic Cloud Applications

Page 1: 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

Page 2: Programming Model Support for Dependable, Elastic Cloud Applications

Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 2

MotivationElasticity

DependabilityImplementation

Conclusion

Page 3: Programming Model Support for Dependable, Elastic Cloud Applications

Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 3

Motivation – Cloud in Reality

Page 4: Programming Model Support for Dependable, Elastic Cloud Applications

Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 5

Motivation -“Ideal” Cloud

Page 5: Programming Model Support for Dependable, Elastic Cloud Applications

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

Page 6: Programming Model Support for Dependable, Elastic Cloud Applications

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

Page 7: Programming Model Support for Dependable, Elastic Cloud Applications

Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 8

Motivation - Too Big To Fail

Page 8: Programming Model Support for Dependable, Elastic Cloud Applications

Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 9

MotivationElasticity

DependabilityImplementation

Conclusion

Page 9: Programming Model Support for Dependable, Elastic Cloud Applications

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

Page 10: Programming Model Support for Dependable, Elastic Cloud Applications

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

Page 11: Programming Model Support for Dependable, Elastic Cloud Applications

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

Page 12: Programming Model Support for Dependable, Elastic Cloud Applications

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

Page 13: Programming Model Support for Dependable, Elastic Cloud Applications

Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 14

Elasticity – Logical Node

demand

throughput

Page 14: Programming Model Support for Dependable, Elastic Cloud Applications

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

Page 15: Programming Model Support for Dependable, Elastic Cloud Applications

Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 16

MotivationElasticity

DependabilityImplementation

Conclusion

Page 16: Programming Model Support for Dependable, Elastic Cloud Applications

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

Page 17: Programming Model Support for Dependable, Elastic Cloud Applications

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

Page 18: Programming Model Support for Dependable, Elastic Cloud Applications

Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 19

MotivationElasticity

DependabilityImplementation

Conclusion

Page 19: Programming Model Support for Dependable, Elastic Cloud Applications

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

Page 20: Programming Model Support for Dependable, Elastic Cloud Applications

Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 21

MotivationElasticity

DependabilityImplementation

Conclusion

Page 21: Programming Model Support for Dependable, Elastic Cloud Applications

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

Page 22: Programming Model Support for Dependable, Elastic Cloud Applications

Chuang, Sang, Killian and Kulkarni, “Programming Model Support for Dependable, Elastic Cloud Applications” HotDep ‘12 23

Questions?