Improving Energy-Efficiency of Computational Grids via Scheduling

Improving Energy-Efficiency of Computational Grids via Scheduling

Ziliang Zong, Xiaojun Ruan, Adam Manzanares, Kiranmai Bellam, Xiao Qin
DOI: 10.4018/978-1-61520-686-5.ch022
(Individual Chapters)
No Current Special Offers


High performance Grid platforms and parallel computing technologies are experiencing their golden age because of the convergence of four critical momentums: high performance microprocessors, high-speed networks, free middleware tools, and highly increased needs of computing capability. We are witnessing the rapid development of computational Grid technologies. Dozens of exciting Grid infrastructures and projects like Grid-tech, Grid Portals, Grid Fora, and Commercial Grid Initiatives are being built all over the world. However, the fast growing power consumption of data centers has caused serious concerns for building more large-scale supercomputers, clusters, and Grids. Therefore, designing energy-efficient computational Grids to make them economically attractive and environmentally friendly for parallel applications becomes highly desirable. Unfortunately, most previous studies in Grid computing primarily focus on the improvement of performance, security, and reliability, while completely ignoring the energy conservation issue. To address this problem, we propose a general architecture for building energy-efficient computational Grids and discuss the potential possibilities for incorporating power-aware techniques to different layers of the proposed Grid architecture. In this chapter, we first provide necessary background on computational Grids, Grid computing, and parallel scheduling. Next, we illustrate the general Grid architecture and explain the functionality of different layers. Followed by that, we discuss the design and implementation details of applying the energy-efficient job-scheduling technique, which is called Communication Energy Conservation Scheduling (or CECS for short), to computational Grids. Finally, we present extensive simulation results to prove the improvement of energy-efficiency of computational Grids.
Chapter Preview

1. Introduction

We are now in an era of information explosion. Billions of data is generated in the time it takes to blink your eyes. In order to process these massive data sets, large-scale high-performance computing platforms, like clusters and computational Grids, have been widely deployed. This accommodates the rapid growth of cluster and Grid applications in both academic and the commercial area. A large fraction of applications running in these high-performance computing platforms are computing-intensive and storage-intensive, since these applications deal with a large amount of data transferred either between memory and storage systems or among hundreds of computing nodes via interconnection networks. There is no doubt that high performance computing has significantly changed our lives today. We will definitely benefit more once computation power provided by Grids become standard and pervasive similar to electric and water services.

However, these large computational power increases come at a cost. Increasing evidence has shown that the powerful computing capability is actually at the cost of huge energy consumption demands. For example, Energy User News stated that the power requirements of today’s data centers range from 75 W/ft2 to 150-200 W/ft2 and will increase to 200-300 W/ft2 in the near future (Moore, 2002). The new data center capacity projected for 2005 in the U.S. would require approximately 40 TWh ($4B at $100 per MWh) per year to run 24x7 unless they become more efficient (Kappiah et al., 2005). The supercomputing center in Seattle is forecast to increase the city's power demands by 25% (Bryce, 2000). The Environment Protection Agency reported that the total energy consumption of servers and data centers of the United States was 61.4 billion KWh in 2006, which is more than double the energy usage for the same purpose in 2000 (Environment Protection Agency, 2006). Even worse, the EPA has predicted that the power usage of servers and data centers will be doubled again within five years if historical trends continue (Environment Protection Agency, 2006). Even worse, huge-energy consumption will simultaneously cause serious environmental pollution. Based on the data from EPA, generating 1 kWh of electricity in the United States results in an average 1.55 pounds (lb) of carbon dioxide (CO2) emissions. Therefore, it is highly desirable to design economically attractive and environmentally friendly supercomputing platforms like computational Grids.

Most previous research on Grid computing has been primarily focused on the improvement of performance, security, and reliability. However, the energy conservation issue in the context of computational Grids has received little attention. This study aims at reducing power consumption in computational Grids with a minimum influence on performance. More specifically, in this chapter we address the issue of conserving energy for computational Grids through power-aware scheduling. We propose an energy-efficient scheduling algorithm, which can balance energy-performance by reducing interconnection power cost for communication-intensive applications running on Grids. The major contribution of this research is to design and implement an energy-efficient parallel job-scheduling module (hereinafter referred to as CECS) to be integrated into a general computational Grids architecture. The proposed CECS module consists of two phases. The first phase aims to minimize communication overheads among parallel tasks by duplicating communication-intensive tasks. In the second phase, CECS judiciously allocates grouped tasks to the most energy-efficient computing nodes to optimize the energy conservation of the Grid system.

The rest of the chapter is organized as follows. In Section 2, we present a brief description of related work and provide background information required for this research. Section 3 depicts a general Grid system architecture. In Section 4, we illustrate the Grid scheduling framework and explain the function of each module and their relationships. Section 5 and Section 6 address the details about the task analyzer and energy-efficient CECS scheduling algorithm. Experimental results and performance evaluations are presented in Section 7. Finally, Section 8 discusses the future research trends and concludes the entire chapter.

Key Terms in this Chapter

Scheduling: Also known as “task scheduling”; similar to “job scheduling”; associated in the manuscript with “task scheduling “and “job scheduling”.

Interconnection: Also known as “network”, which usually represents the high speed network layer in a high performance computing platform; associated in the manuscript with “Gigabit Ethernet”, “Infiniband”, “Myrinet” and “QsNetII”.

Job: Also known as “computer job”, which represents an execution of a full program; similar to “task” and “computer task”; associated in the manuscript with “job partition” and “job allocation”.

Energy-Efficient Computing: Also known as “green computing”, “energy-aware computing”; similar to “power-efficient computing”, “power-aware computing”; associated in the manuscript with “energy-efficiency“, “energy consumption”, and “power consumption”.

Grid: Also known as “computational grid”, which represents a supercomputing platform with heterogeneous configurations, e.g. different types of processors and networks, etc.; similar to heterogeneous clusters; associated in the manuscript with grid computing, computational grid, and heterogeneous computing nodes.

Cluster: Also known as “computational clusters”, which represents a supercomputing platform with homogeneous configurations, e.g. identical processors and networks, etc.; similar to “homogeneous clusters”; associated in the manuscript with “cluster computing” and “heterogeneous clusters”.

Task: Also known as “computer task”, which represents a partial execution of a full program. A job may consist of a large number of tasks; similar to: “jobs” and “computer jobs”. Associated in the manuscript with “task scheduling”, “task migration” and “task allocation”.

Parallel Computing: Also known as “parallel computation”, which represents parallel program execution or parallel file/data processing; similar to “high-performance computing”, “cluster computing” and “grid computing”; associated in the manuscript with “parallel computing“, “parallel scheduling”, “parallel applications”, and “parallel execution”.

Complete Chapter List

Search this Book: