Category Archives: mace

Programming Model Support for Dependable, Elastic Cloud Applications

Here’s an introduction to our HotDep’12 paper

While the word ‘cloud-computing’ has become a cliché, the real strength of cloud is not yet undermined.

Elasticity, the ability to scale up or scale down the application on demand, is not understood clearly to date. There are a few exception though, such as MapReduce or bag-of-tasks type of applications. However, These programming paradigms are  simple, usually stateless, and therefore easy to perform dynamic provisioning and so on. For more general type of applications, there has been very little research on how to enable elasticity to them.

We propose a programming model which enables elasticity. Moreover, it makes the programmer easy to reason about the execution of the application in elastic environment. In the model, an application runs in a “logical node.” A logical node is composed of multiple “physical nodes.” Regardless of the number of physical nodes involves in a logical node, an event executed in a logical node is logically equivalent.

However, elasticity induces a new fault-tolerance issue. A naive elasticity scheme would increase failure rate by allowing a physical node failure to induce the entire logical node failure.

Interesting, we found the mechanisms of the programming model naturally provides a solution to the fault-tolerance problem. Specifically, our programming model can recover failures at per-physical-node basis, and thereby transparently masks the physical node failures. More details of the programming model and the failure tolerance mechanisms can be found in the paper.

Our Hotdep12 Paper

500th commit in Mace-Fullcontext!

Congratulations to all of the contributors: Bo, Sunghwan, Rui, Yu-Chen, Chip and Milind. I almost forgot to mention that our 500th commit of Mace-Fullcontext has been pushed up to the repository! I would like to thank all of you who have contributed to this project.
We officially committed the first changeset on last December 21, and it took less than 9 months to reach the 500th. Since that time, we have committed more than 22,000 lines of code into repository.
The mace fullcontext project is a follow-up project of Mace-incontext, a parallel execution event driven system, led by Sunghwan Yoo, and we started the discussion since about last October. So it’s been almost a year ago!