25-10-2012, 04:40 PM
Green Cloud computing and Environmental Sustainability
Cloud-EnvSustainability2011.pdf (Size: 1.53 MB / Downloads: 54)
Abstract:
Cloud computing is a highly scalable and cost-effective infrastructure for running HPC, enterprise and Web applications. However, the growing demand of Cloud infrastructure has drastically increased the energy consumption of data centers, which has become a critical issue. High energy consumption not only translates to high operational cost, which reduces the profit margin of Cloud providers, but also leads to high carbon emissions which is not environmentally friendly. Hence, energy-efficient solutions are required to minimize the impact of Cloud computing on the environment. In order to design such solutions, deep analysis of Cloud is required with respect to their power efficiency. Thus, in this chapter, we discuss various elements of Clouds which contribute to the total energy consumption and how it is addressed in the literature. We also discuss the implication of these solutions for future research directions to enable green Cloud computing. The chapter also explains the role of Cloud users in achieving this goal.
Introduction
With the growth of high speed networks over the last decades, there is an alarming rise in its usage comprised of thousands of concurrent e-commerce transactions and millions of Web queries a day. This ever-increasing demand is handled through large-scale datacenters, which consolidate hundreds and thousands of servers with other infrastructure such as cooling, storage and network systems. Many internet companies such as Google, Amazon, eBay, and Yahoo are operating such huge datacenters around the world.
The commercialization of these developments is defined currently as Cloud computing [2], where computing is delivered as utility on a pay-as-you-go basis. Traditionally, business organizations used to invest huge amount of capital and time in acquisition and maintenance of computational resources. The emergence of Cloud computing is rapidly changing this ownership-based approach to subscription-oriented approach by providing access to scalable infrastructure and services on-demand. Users can store, access, and share any amount of information in Cloud. That is, small or medium enterprises/organizations do not have to worry about purchasing, configuring, administering, and maintaining their own computing infrastructure. They can focus on sharpening their core competencies by exploiting a number of Cloud computing benefits such as on-demand computing resources, faster and cheaper software development capabilities at low cost. Moreover, Cloud computing also offers enormous amount of compute power to organizations which require processing of tremendous amount of data generated almost every day. For instance, financial companies have to maintain every day the
dynamic information about their hundreds of clients, and genomics research has to manage huge volumes of gene sequencing data.
Therefore, many companies not only view Clouds as a useful on-demand service, but also a potential market opportunity. According to IDC (International Data Corporation) report [1], the global IT Cloud services spending is estimated to increase from $16 billion in 2008 to $42 billion in 2012, representing a compound annual growth rate (CAGR) of 27%. Attracted by this growth prospects, Web-based companies (Amazon, eBay, Salesforce.com), hardware vendors (HP, IBM, Cisco), telecom providers (AT&T, Verizon), software firms (EMC/VMware, Oracle/Sun, Microsoft) and others are all investing huge amount of capital in establishing Cloud datacenters. According to Google‟s earnings reports, the company has spent $US1.9 billion on datacenters in 2006, and $US2.4 billion in 2007[3].
What is Cloud computing?
Cloud computing is an evolving paradigm which is enabling outsourcing of all IT needs such as storage, computation and software such as office and ERP, through large Internet. The shift toward such service-oriented computing is driven primarily by ease of management and administration process involving software upgrades and bug fixes. It also allows fast application development and testing for small IT companies that cannot afford large investments on infrastructure. Most important advantage offered by Clouds is in terms of economics of scale; that is, when thousands of users share same facility, cost per user and the server utilization. To enable such facilities, Cloud computing encompasses many technologies and concepts such as virtualization, utility computing, pay as you go, no capital investment, elasticity, scalability, provisioning on demand, and IT outsourcing.
Due to such varying properties of Cloud computing, there are many informal definitions, none of which fully describes it. The literary meaning of “Cloud computing” can be “computing achieved using collection of networked resources, which are offered on subscription”. In terms of qualities of real “Clouds,” which do not have any definite shape or position, Cloud computing is also called “Cloud” since a Cloud server can have any configuration and can be located anywhere in the world. Internet is a fundamental medium through which these Cloud services are made accessible and delivered to end user.
Components of Cloud Computing
Cloud computing is mainly composed of three layers which cover all the computing stack of a system. Each of these layers offers different set of services to end users as described in Figure 3. At the lowest layer, Cloud offerings are named as Infrastructure-as-a-Service (IaaS) which consists of virtual machines or physical machines, storage, and clusters. Cloud infrastructures can also be heterogeneous, integrating clusters, PCs and workstations. Moreover, the system infrastructure can also include database management systems and other storage services. The infrastructure in general is managed by an upper management layer that guarantees runtime environment customization, application isolation, accounting and quality of service. The virtualization tools, such as hypervisors, also sit in this layer to manage the resource pool and to partition physical infrastructure in the form of customized virtual machines. Depending on the end user needs, the virtualized infrastructure is pre-configured with storage and programming environment, what saves time for users who do not need to build their system from scratch.