EventWave: Programming Model and Runtime Support for Tightly-Coupled Elastic Cloud Applications
Venue
Proceedings of the 2013 ACM Symposium on Cloud Computing, ACM, Santa Clara, CA, USA
Publication Year
2013
Authors
Wei-Chiu Chuang, Bo Sang, Sunghwan Yoo, Rui Gu, Charles Killian, Milind Kulkarni
BibTeX
Abstract
An attractive approach to leveraging the ability of cloud-computing platforms to
provide resources on demand is to build elastic applications, which can dynamically
scale up or down based on resource requirements. To ease the development of elastic
applications, it is useful for programmers to write applications with simple
sequential semantics, without considering elasticity, and rely on runtime support
to provide that elasticity. While this approach has been useful in restricted
domains, such as MapReduce, existing programming models for general distributed
applications do not expose enough information about their inherent organization of
state and computation to provide such transparent elasticity. We introduce
EVENTWAVE, an event-driven programming model that allows developers to design
elastic programs with inelastic semantics while naturally exposing isolated state
and computation with programmatic parallelism. In addition, we describe the runtime
mechanism which takes the exposed parallelism to provide elasticity. Finally, we
evaluate our implementation through microbenchmarks and case studies to demonstrate
that EVENTWAVE can provide efficient, scalable, transparent elasticity for
applications run in the cloud.
