A Holistic Approach for Collaborative Workload Execution in Volunteer Clouds

Stefano Sebastio, Michele Amoretti, Alberto Lluch Lafuente, Antonio Scala
2018 ACM Transactions on Modeling and Computer Simulation  
e demand for provisioning, using and maintaining distributed computational resources is growing hand in hand with the quest for ubiquitous services. Centralized infrastructures such as cloud computing systems provide suitable solutions for many applications, but their scalability could be limited in some scenarios, e.g., in case of latency-dependent applications. e volunteer cloud paradigm aims at overcoming this limitation by encouraging clients to o er their own spare, perhaps unused,
more » ... aps unused, computational resources. Volunteer clouds are thus complex, large-scale, dynamic systems which demand for self-adaptive capabilities to o er e ective services, as well as modeling and analysis techniques to predict their behavior. In this paper, we propose a novel holistic approach for volunteer clouds supporting collaborative task execution services able to improve the QoS of compute-intensive workloads. We instantiate our approach by extending a recently proposed ant colony optimization algorithm for distributed task execution with a workload-based partitioning of the overlay network of the volunteer cloud. Finally, we evaluate our approach using simulation-based statistical analysis techniques on a workload benchmark provided by Google. Our results show that the proposed approach outperforms some traditional distributed task scheduling algorithms in the presence of compute-intensive workloads. e increasing role of so ware and the pervasiveness of computational devices have fostered the interest and demand for storage and computing services. Cloud computing is a recent but already well-established paradigm envisioning the use of computing as utility. anks to the cloud, users do not need to buy or maintain powerful computational devices, since they can use services remotely. Such services are customized according to the users' needs and requirements, and are provided transparently from where the resources are physically hosted. Another bene t of cloud systems is their ability to dynamically scale whenever application requirements change. In order to properly manage their resources, cloud providers o er contract-based services whose terms are speci ed in a Service Level Agreement (SLA), containing the required ality of Service (QoS) and the associated penalty fees in case of their violation. One of the greatest challenges in the cloud computing domain is the e cient use of resources, while guaranteeing the ful llment of SLAs. To this aim, particular a ention is given to autonomic computing techniques, which support the development of clouds as self-managing systems. Cloud features should automatically adapt to their internal status and the dynamically changing environment, without human intervention. Self-management may involve system maintenance, awareness, evolution, con guration, healing, tuning and optimization. Along with the latest advancements in virtualization technologies, the last decade has also witnessed a great leap forward in processing power, thanks to the advent of the multicore era. In turn, this scenario has brought a surge of resources that are largely unused for great part of the day, e.g., when desktop and laptop devices are used only for web-browsing or text-editing activities. On the other hand, these personal devices have scarce resources for other activities such as large scale simulations or graphic-editing. e volunteer computing paradigm thrives in such a scenario, as it foresees the willingness of some users to cooperate by sharing a fraction of their spare and unused resources, while accessing some other users' shared resources when the local ones are scarce. By doing so, the limits in the scalability of clouds are overcome since now users themselves may provide new computational resources. e volunteer cloud computing paradigm promises to enhance clouds in speci c domains, by exploiting peer-to-peer (P2P) networks of volunteers. is paradigm is also referred to as social cloud, P2P cloud computing and distributed cloud computing. A typical example of its use is given by academic and industrial research institutions that share the spare resources of their labs (not used 24 hours a day or underused) with other sites, to run complex large-scale simulations. Volunteer clouds support both computing-and storage-oriented cloud-based applications. For example, MapReduce and streaming applications can be successfully implemented in a volunteer cloud fashion [12] . Instead, the volatile online presence of the volunteer nodes prevents its use for service-oriented applications such as multi-tier web applications. Several works [6, 24, 25, 34] have identi ed domains suitable for standing out the volunteer cloud's bene ts and opportunities. Exploiting the unused computational resources made available free of charge reduces the cost to maintain private computational resources. Moreover, the requirements for building and maintaining huge power-hungry and cooling-demanding data centers could be reduced by going towards a green computing vision. Finally, the lack of a single controlling entity make volunteer clouds convenient in case of natural catastrophes that would damage data centers or communication infrastructures, or when governments place restrictions on the location of sensitive data, as well as reducing the risk in the vendor lock-in problem. e participation of volunteers can be fostered by using incentives such as rewards for participants that respect the SLAs associated to the assigned tasks. For example, the PlanetLab platform [57]
doi:10.1145/3155336 fatcat:n2f43r34azdblkrdenr3eus6ga