A Cooperative Approach for Distributed Task Execution in Autonomic Clouds

Virtualization and distributed computing are two key pillars that guarantee scalability of applications deployed in the Cloud. In Autonomous Cooperative Cloud-based Platforms, autonomous computing nodes cooperate to offer a PaaS Cloud for the deployment of user applications. Each node must allocate the necessary resources for applications to be executed with certain QoS guarantees. If the QoS of an application cannot be guaranteed a node has mainly two options: to allocate more resources (if it is possible) or to rely on the collaboration of other nodes. Making a decision is not trivial since it involves many factors (e.g. the cost of setting up virtual machines, migrating applications, discovering collaborators). In this paper we present a model of such scenarios and experimental results validating the convenience of cooperative strategies over selfish ones, where nodes do not help each other. We describe the architecture of the platform of autonomous clouds and the main features of the model, which has been implemented and evaluated in the DEUS discrete-event simulator. From the experimental evaluation, based on workload data from the Google Cloud Backend, we can conclude that (modulo our assumptions and simplifications) the performance of a volunteer cloud can be compared to that of a Google Cluster.

[1]  Muli Ben-Yehuda,et al.  The Reservoir model and architecture for open federated cloud computing , 2009, IBM J. Res. Dev..

[2]  Deger Cenk Erdil,et al.  Autonomic cloud resource sharing for intercloud federations , 2013, Future Gener. Comput. Syst..

[3]  John Leaney,et al.  An Autonomic Open Marketplace for Inter-Cloud Service Management , 2011, 2011 Fourth IEEE International Conference on Utility and Cloud Computing.

[4]  A. Zahariev Google App Engine , 2009 .

[5]  Fang Hao,et al.  Enhancing dynamic cloud-based services using network virtualization , 2009, CCRV.

[6]  Rajkumar Buyya,et al.  InterCloud: Utility-Oriented Federation of Cloud Computing Environments for Scaling of Application Services , 2010, ICA3PP.

[7]  Domenico Talia,et al.  Cloud Computing and Software Agents: Towards Cloud Intelligent Services , 2011, WOA.

[8]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[9]  Gunter Bolch,et al.  Queueing Networks and Markov Chains , 2005 .

[10]  Raouf Boutaba,et al.  A survey of network virtualization , 2010, Comput. Networks.

[11]  David P. Anderson Volunteer computing , 2010, CROS.

[12]  Antonio Puliafito,et al.  Volunteer Computing and Desktop Cloud: The Cloud@Home Paradigm , 2009, 2009 Eighth IEEE International Symposium on Network Computing and Applications.

[13]  Chita R. Das,et al.  Towards characterizing cloud backend workloads: insights from Google compute clusters , 2010, PERV.

[14]  Dirk Neumann,et al.  SORMA - Business Cases for an Open Grid Market: Concept and Implementation , 2008, GECON.