Introduction
Cloud computing provides enterprises and private customers shared resources in the form of computational power and memory for performing strenuous computing tasks. These ubiquitous and on-demand services are offered by distributed servers through high speed internet. The biggest advantage of cloud computing services is that consumers could easily avoid developing their in-house gigantic computing services. They could easily hire resources from cloud computing services and need not having their dedicated computational infrastructure.
There are various models of cloud computing for intelligently utilizing the resources. For managing dedicated on-demand computing resources for many users, a huge amount of cost incurs in the form of power consumption. As a result, clients have to pay heavy amount for renting computational services. Moreover, cloud resources are limited and network traffic could easily clog the services. Cloud computing also adds excessive carbon footprints to the environment. In this report, we will review how researchers have sorted out the problem of optimizing resources’ utilization and energy consumption in cloud computing.
Literature Review
Cloud computing has been an active field of research both from academic and industrial research point of view as mentioned in these works by (Armbrust et al. 1) related to innovative cloud computational models, and (Sripanidkulchai et al. 18-23) describing applications of cloud computing in large distributed tasks. The authors in (Wang et al. 137-146) describe the state of the art cloud computing technologies to make us familiar with the basics of this field. Introduction to cloud computing platforms is provided in a beautiful fashion by (Cordeiro et al. 366-367) while (Peng et al. 1-5) relates them in an interesting manner.
Cloud computing as utility-oriented IT services poses huge challenge to minimize energy consumption and network clogging due to a large number of consumers claiming resources. The contribution of researchers in this field is worth mentioning. In (Beloglazov, Abawajy, amd Buyya 755-759), authors present a novel architectural framework for utilizing cloud computing resources with minimum energy consumption. The quality of services is maintained while providing energy-efficient solutions to cloud computation. In this work, scheduling algorithms and resource allocation policies are described taking into account QoS expectations and power consumption of users’ devices. The researchers also present a number of research questions to solve problems related to cloud computing services for both hosts and clients. Another research work (Baliga et al. 149-151) pays attention to energy consumption of transmission and switching networks that are essential for connecting users to the cloud services. The researchers consider the energy consumption for private and public cloud computing services keeping into view data processing and data storage. This work clearly shows that energy consumption in transmission and switching networks makes up most of the energy demand of cloud computing. This research effort also compares energy consumption in conventional and cloud computing. It is found that conventional computing is more energy efficient when tasks are simple enough. If cumbersome computations are involved, cloud computing provides a more energy efficient solution. Moreover, cloud computing provides more energy efficient solutions as compared to conventional computing, on a PC through the use of virtual machines and server consolidation.
For energy conservation and optimization, the remote client applications could be divided into minor tasks and they could be executed on multiple servers. Research work has been carried out to formulate stochastic integer programming models for minimizing energy utilization of servers used in cloud computing (Wang and Shen 239-240). QoS is required to be maintained for uncertain on-demand resource utilization. The worth of this work lies in dealing with probabilistic model of requests. The authors transform the model into deterministic one. They propose a backlogging model for analyzing failures to cope with requests. Backlogging refers to delaying the requests of clients due to network clogging with high number of requests. Stochastic integer programming models are used in this work for optimization of server consolidation and job scheduling.
For energy optimization of cloud computing, there should be some method of monitoring energy utilization during various computational tasks. In (Chen et al. 45-47), the authors develop a detailed model to analyze energy consumption of various cloud computational tasks. In this effort, energy utilization is monitored by executing various run-time computational tasks. The importance of this work stems from the fact that it provides empirical relations between cloud data, energy consumption, system performance, and computational tasks. This research model is quite useful as it can be integrated into practical cloud computing systems for monitoring energy usage. The model also supports dynamic and static system level optimization. This model provides an intelligent method for task scheduling and organization of available services as part of static optimization. It is also possible to go for system-level optimization by measuring energy utilization dynamically.
The research efforts to minimize energy consumption for cloud computing doesn’t go independently from concept of Green Cloud Computing. As the energy constraints are optimized for cloud services, the carbon footprints on environment will automatically reduce. The energy optimization in conjunction with green computing was studied in (Uchechukwu, Li, and Shen 53). The authors considered static and dynamic portions of cloud components for reduction in energy consumption. To make it possible, the researchers provide models for studying energy consumption in cloud computing in relation to workload, system performance and energy consumption. This model can be integrated into cloud computing systems for monitoring and optimizing energy consumption statically and dynamically.
Apart from energy consumption constraints, the resources of cloud computing service providers should be deployed smartly to satisfy the demands of cloud consumers. In cloud computational models, the resources are present at various stages i.e. operating systems, middleware, and application engines. Efficient resource utilization drives extensive research in recent times. The research efforts carried out in (Naik, Kanagala, and Veigas 687-690) suggest that the resources at various layers could be unified into a single processing platform for their effective management. The authors depict the importance of a cloud OS known as virtual distributed operating system as it aids in reducing the management of cloud resources. This strategy is an important step towards green computing. Another great research work (Khoshdel et al. 314-315) aids cloud providers in maximizing their profits by reducing the number of rejected requests due to a shortcoming of resources. The authors propose a heuristic algorithm for efficient resource management and deploy fuzzy systems for solving problems related to resource allocation.
The challenges in resource allocation never come to an end. One of the major concerns in cloud computing is making infrastructure resources of CPU and memory available for al competing customers. In (Zhang et al.75-77), the authors propose optimization strategy for resource allocation and utilization. They formulated integration of resource allocation and utilization as solution to cloud computation in Platform as a Service (PaaS) model. Two adaptive control loops are proposed, i.e. resource allocation and resource consumption optimization loop. These two loops run consecutively for improving utilization of resources and allocating more resources when required.
The provision of parallel processing in cloud computation opens new research avenues for scholars around the world. (Li et al. 31-32) undertake the challenge of optimizing resource allocation for consumers. It is necessary to assign resources for all tasks within a cloud computational request. This research work proposes an adaptive algorithm for resource allocation for cloud computing that involve pre-emptive tasks. The proposed strategy adjusts the resources’ allocation run-time based on execution of cloud computational tasks. The experimental results of the algorithm suggest that the proposed strategy works quite well on existing cloud frameworks even when the network is clogged with requests.
Dynamic resource allocation is advantageous from the point of view that resources are utilized where they are needed the most instead of being leased for unnecessary tasks for a long time as in the case of static allocation. Most of the current dynamic resource allocation algorithms result in high migration costs because they tend to ignore multidimensional aspects of virtual machines and physical machines. The authors in (He et al. 574-575) propose multivariate probabilistic model that uses appropriate physical machines for assigning them virtual cloud resources. In this manner, a dynamic resource allocation strategy is formulated. Two heuristic metrics are used by researchers for analyzing the multi-dimensional features of physical and virtual machines. These metrics play a significant role in improving resource utilization.
Parallel computational models have become quite famous in the realm of cloud computing these days. These models are ideal for large scale processing of tasks. (Shih and Leu 185-188) researched optimization of resource utilization in a cloud environment for heterogeneous resources. This research effort focuses on distributing the workload of computational tasks to all available processing nodes in the cloud network. The load on nodes is put based on their congestion. This algorithm clearly avoids bias for resources management. The results presented in this work show that the formulated strategy improves resource utilization and overall computing performance in a cloud environment. The name of the model is MapReduce and its implementation is referred to as Hadoop.
Innovation in the field of cloud computing is ever evolving and the thirst of researchers is never quenched. (Wang et al. 442-444) took the concept of cloud computing into an entirely new direction by integrating the resources of customers with clouds’ for improving overall performance of the system. Such a customer-provided cloud service, referred as SpotCloud, takes into consideration the unused resources of the computational resources of cloud customers for enhancing availability of overall resources. Although, this model lags behind commercial data-center based enterprise cloud computing services, yet it provides good services in terms of pricing and performance. This model is ideal for customers who use cloud services for temporary and customized computational tasks. The analysis of the proposed models suggests that it helps customers in finding an optimized solution between benefit and cost. This algorithm will certainly aid cloud computing enterprises dealing with heterogeneous resources.
Workloads in cloud computing networks are variable and it is important to have insight for estimating workloads. Diversity in such computational requirements of customers must be addressed. For analyzing real-world cloud data, (Moreno et al. 49-52) worked hard quite a lot for proposing large-scale data analysis with the help of latest dataset containing information about 12000 servers over a time span of a month. The researchers have tried to create a novel approach for characterizing workloads involving tasks and customers. The authors have also derived a model for formulating resource utilization and prediction patterns. The proposed model aids in figuring out the relationship between tasks in computing projects and customers requesting such tasks. This research effort also serves in energy optimization, improvement in energy efficiency, and correlation of failure. The results of experiments carried out by researchers suggest that simulation models correspond well with the theoretical ones, with an error margin of just 5%. The results also portray the diverse nature of patterns in cloud computing.
Coming towards concluding the review of research efforts carried out in recent years, it is obvious that there is still plenty of scope of research in cloud computing. Many challenges related to energy efficiency and resource utilization to keep this field an open avenue of research. The distributed computing system offers parallel processing capabilities for resources management using a huge collection of virtualized and inter-connected PCs on a network. Future research dimensions are open for improving energy consumption and resource allocation for promoting green computing that is eco-friendly. Optimization must be provided at different layers of cloud computing models. Apart from energy and resources optimization, the researchers could also focus their attention towards security aspects of cloud computing (Buyya, Broberg, and Goscinski 475). Like many other internet-based services, cloud computing is also vulnerable to getting compromised. The research efforts should strengthen cloud computing services for customers.
Works Cited
Armbrust, Michael et al. Above the clouds: a berkeley view of cloud computing [EB/OL). 2009.
Baliga, J, et al. "Green cloud computing: Balancing energy in processing, storage, and transport." Proceedings of the IEEE (2011): 149--167.
Beloglazov, A., Abawajy, J., and Buyya, R. "Energy-aware resource allocation heuristics for efficient management of data centers for cloud computing." Future generation computer systems (2012): 755--768.
Buyya, R., Broberg, J., and Goscinski, A.M. Cloud Computing: Principles and Paradigms. Wiley, 2010.
Chen, FeiFei, et al. "An energy consumption model and analysis tool for Cloud computing environments." Proceedings of the First International Workshop on Green and Sustainable Software (2012): 45--50.
Cordeiro, Thiago, et al. "Open source cloud computing platforms." Grid and Cooperative Computing (GCC), 2010 9th International Conference on (2010): 366--371.
He, Sijin, et al. "Improving resource utilisation in the cloud environment using multivariate probabilistic models." Cloud Computing (CLOUD), 2012 IEEE 5th International Conference on (2012): 574--581.
Khoshdel, V., et al. "A new approach for optimum resource utilization in cloud computing environments." Computer and Knowledge Engineering (ICCKE), 2011 1st International eConference on (2011): 314--321.
Li, Jiayin, et al. "Adaptive resource allocation for preemptable jobs in cloud systems." Intelligent Systems Design and Applications (ISDA), 2010 10th International Conference on (2010): 31--36.
Moreno, Ismael Solis, et al. "An approach for characterizing workloads in Google cloud to derive realistic resource utilization models." Service Oriented System Engineering (SOSE), 2013 IEEE 7th International Symposium on (2013): 49--60.
Naik, Nitesh N., Kanagala, K., and Veigas, John P. "Achieving green computing by effective utilization of cloud resources using a cloud OS." Emerging Trends in Computing, Communication and Nanotechnology (ICE-CCN), 2013 International Conference on (2013): 687--690.
Peng, Junjie, et al. "Comparison of several cloud computing platforms." Information Science and Engineering (ISISE), 2009 Second International Symposium on (2009): 23--27.
Shih, Hsin-Yu and Leu, Jenq-Shiou. "Improving resource utilization in a heterogeneous cloud environment." Communications (APCC), 2012 18th Asia-Pacific Conference on (2012): 185--189.
Sripanidkulchai, Kunwadee, et al. "Are clouds ready for large distributed applications?" ACM SIGOPS Operating Systems Review (2010): 18--23.
Tammaro, Davide, et al. "Dynamic resource allocation in cloud environment under time-variant job requests." Cloud Computing Technology and Science (CloudCom), 2011 IEEE Third International Conference on (2011): 592--598.
Uchechukwu, A., Li, K., and Shen, Yanming. "Improving cloud computing energy efficiency." Cloud Computing Congress (APCloudCC), 2012 IEEE Asia Pacific (2012): 53--58.
Wang, Haiyang, et al. "Measurement and utilization of customer-provided resources for cloud computing." INFOCOM, 2012 Proceedings IEEE (2012): 442--450.
Wang, Jue and Shen, Siqian. "Risk and energy consumption tradeoffs in cloud computing service via stochastic optimization models." Utility and Cloud Computing (UCC), 2012 IEEE Fifth International Conference on (2012): 239--246.
Wang, Lizhe, et al. "Cloud computing: a perspective study." New Generation Computing (2010): 137--146.
Zhang, Ying, et al.. "Integrating resource consumption and allocation for infrastructure resources on-demand." Cloud Computing (CLOUD), 2010 IEEE 3rd International Conference on (2010): 75--82.