Towards application-level elasticity on shared cluster: an actor-based approach

In current cluster computing, several distributed frameworks are designed to support elasticity for business services adapting to environment fluctuation. However, most existing works support elasticity mainly at the resource level, leaving application level elasticity support problem to domain-specific frameworks and applications. This paper proposes an actor-based general approach to support application-level elasticity for multiple cluster computing frameworks. The actor model offers scalability and decouples language-level concurrency from the runtime environment. By extending actors, a new middle layer called Unisupervisor is designed to “sit” between the resource management layer and application framework layer. Actors in Unisupervisor can automatically distribute and execute tasks over clusters and dynamically scale in/out. Based on Unisupervisor, high-level profiles (MasterSlave, MapReduce, Streaming, Graph, and Pipeline) for diverse cluster computing requirements can be supported. The entire approach is implemented in a prototype system called UniAS. In the evaluation, both benchmarks and real applications are tested and analyzed in a small scale cluster. Results show that UniAS is expressive and efficiently elastic.

[1]  James R. Larus,et al.  Orleans: cloud computing for everyone , 2011, SoCC.

[2]  Paul Lu,et al.  Elastic Phoenix: Malleable MapReduce for Shared-Memory Systems , 2011, NPC.

[3]  Jignesh M. Patel,et al.  Storm@twitter , 2014, SIGMOD Conference.

[4]  Kun-Lung Wu,et al.  Elastic Scaling for Data Stream Processing , 2014, IEEE Transactions on Parallel and Distributed Systems.

[5]  Zhengping Qian,et al.  TimeStream: reliable stream computation in the cloud , 2013, EuroSys '13.

[6]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[7]  Laxmikant V. Kalé,et al.  Performance evaluation of adaptive MPI , 2006, PPoPP '06.

[8]  Curtis E. Dyreson,et al.  Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data , 2014, SIGMOD 2014.

[9]  Donggang Cao,et al.  DETS: A Dynamic and Elastic Task Scheduler Supporting Multiple Parallel Schemes , 2014, 2014 IEEE 8th International Symposium on Service Oriented System Engineering.

[10]  Carlo Curino,et al.  Apache Hadoop YARN: yet another resource negotiator , 2013, SoCC.

[11]  Franz J. Hauck,et al.  Component-based scalability for cloud applications , 2013, CloudDP '13.

[12]  Schahram Dustdar,et al.  Elastic stream processing in the Cloud , 2013, WIREs Data Mining Knowl. Discov..

[13]  Bo Hong,et al.  Clotho: an elastic MapReduce workload/runtime co-design , 2013, ARM '13.

[14]  Arshdeep Bahga,et al.  Rapid Prototyping of Multitier Cloud-Based Services and Systems , 2013, Computer.

[15]  Denis Caromel,et al.  Fine Tuning Algorithmic Skeletons , 2007, Euro-Par.

[16]  Murray Cole,et al.  Algorithmic Skeletons: Structured Management of Parallel Computation , 1989 .

[17]  Zhiwei Xu,et al.  Consolidated cluster systems for data centers in the cloud age: a survey and analysis , 2013, Frontiers of Computer Science.

[18]  Rajkumar Buyya,et al.  Aneka Cloud Application Platform and Its Integration with Windows Azure , 2011, ArXiv.

[19]  Jie Xu,et al.  Internet-based Virtual Computing Environment: Beyond the data center as a computer , 2013, Future Gener. Comput. Syst..

[20]  Ling Liu,et al.  Computing infrastructure for big data processing , 2013, Frontiers of Computer Science.

[21]  Randy H. Katz,et al.  Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center , 2011, NSDI.

[22]  Madhusudhan Govindaraju,et al.  DELMA: Dynamically ELastic MapReduce Framework for CPU-Intensive Applications , 2011, 2011 11th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[23]  Scott Shenker,et al.  Discretized streams: fault-tolerant streaming computation at scale , 2013, SOSP.